Bom, galera. Eu tentei ordenar os números mas não conseguir, Me ajudem a fazer isso a partir desse código já feito:
class No
{
public:
int valor;
No *prox;
};
------
class ListaEnc
{
public:
ListaEnc();
void ordenar();
void inserir(int x);
void exibir();
No* buscar(int x);
void remover(int x);
int tamanho();
private:
No *no;
No *a;
};
----------
ListaEnc::ListaEnc()
{
no=NULL;
}
void ListaEnc::inserir(int x){
No *p = new No;
p->valor=x;
p->prox=no;
no = p;
}
void ListaEnc::exibir(){
No *p = new No;
for(p=no;p!=NULL;p=p->prox){
cout <<p->valor<<",";
}
cout<<endl;
}
No* ListaEnc::buscar(int x){
No *p = new No;
for(p=no;p!=NULL;p=p->prox){
if(p->valor==x){
return p;
}
}
return NULL;
}
int ListaEnc::tamanho(){
No *p = new No;
int cont=0;
for(p=no;p!=NULL;p=p->prox){
cont++;
}
return cont;
}
void ListaEnc::remover(int x){
No *p = new No;
No *t = new No;
if(no->valor==x){
t=no;
no=no->prox;
t->prox=NULL;
}
for(p=no;p!=NULL;p=p->prox){
if(p->prox!=NULL){
if(p->prox->valor==x){
t=p->prox;
p->prox=p->prox->prox;
t->prox=NULL;
break;
}
}else{
cout <<"Nao achei"<<endl;
}
}
}
-------
int main()
{
ListaEnc l;
l.inserir(3);
l.inserir(5);
l.inserir(8);
l.inserir(5);
l.exibir();
l.remover();
l.exibir();
l.ordenar();
return 0;
}