Buscar

listaordenada.h

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#ifndef LISTA_ORDENADA_H_INCLUDED
#define LISTA_ORDENADA_H_INCLUDED//lista sequencial
using namespace std;
struct Node{
 int info;
 Node *prox;
};
struct Lista{
 Node *L;
 Lista();
 bool insere(int x);
 bool listavazia();
 void mostralista();
 //
 bool remover(int x);
 bool busca(int x);
};
Lista::Lista(){
 L=NULL;
}
bool Lista::insere(int x){
 bool t=false;
 Node *aux=new Node;
 if(aux != NULL){
 t=true;
 aux->info=x;
 if((L==NULL)||(x<L->info)){//se a lista estiver vazia ou se x é menor que o primeiro da lista
 aux->prox=L;// prox de aux aponta para o mesmo lugar de L
 L=aux; // prox de L aponta para o info de aux
 }
 else{
 Node *aux2= L;
 while((aux2->prox!=NULL)&&(x>aux2->prox->info)){
 aux2=aux2->prox;
 }
 aux->prox=aux2->prox;//prox de aux aponta para prox de aux2
 aux2->prox= aux; //prox de aux2 aponta para info aux
 }
 }
 return t;
}
bool Lista::listavazia(){
 return L==NULL;
}
void Lista::mostralista(){
 Node *aux = L;
 while(aux != NULL){
 cout<<aux->info<<endl;
 aux = aux->prox;
 }
}
#endif // LISTA_ORDENADA_H_INCLUDED

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais