Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Estrutura de Dados. Lista encadeada. Ordenação

$
0
0

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;
}

Viewing all articles
Browse latest Browse all 14190

Trending Articles