lista c
LUCAS LIMA DE OLIVEIRA
VINICIUS QUINTÃO MARTINS
Estrutura Básica
Primeiro
Ultimo
x1
Cabeça
...
xn
inicializa()
*l
*primeiro
*ultimo
TLista* inicializa(){
TLista *l = (TLista*) malloc (sizeof(TLista)); l->primeiro = (TCelula*) malloc (sizeof(TCelula)); l->ultimo = l->primeiro; l->primeiro->prox = NULL; return l;
}
inicializa()
*l
*primeiro
*ultimo
TLista* inicializa(){
TLista *l = (TLista*) malloc (sizeof(TLista)); l->primeiro = (TCelula*) malloc (sizeof(TCelula)); l->ultimo = l->primeiro; l->primeiro->prox = NULL; return l;
}
inicializa()
*l
*primeiro
*ultimo
TLista* inicializa(){
TLista *l = (TLista*) malloc (sizeof(TLista)); l->primeiro = (TCelula*) malloc (sizeof(TCelula)); l->ultimo = l->primeiro; l->primeiro->prox = NULL; return l;
}
inicializa()
*l
*primeiro
*ultimo
TLista* inicializa(){
TLista *l = (TLista*) malloc (sizeof(TLista)); l->primeiro = (TCelula*) malloc (sizeof(TCelula)); l->ultimo = l->primeiro; l->primeiro->prox = NULL; return l;
}
Int vazia(Tlista *l)
*l
*primeiro
*ultimo
Se l->primeiro apontar para o mesmo lugar que aponta l->ultimo então a lista esta vazia.
int vazia(TLista *l){ return (l->primeiro == l->ultimo);
}
Int tamanho(Tlista *l)
*aux
Tamanho = 0
int tamanho(TLista *l){
TCelula* aux; int tamanho = 0; for(aux=l->primeiro->prox; aux != NULL; aux = aux->prox){ tamanho++; } return tamanho;
}
Int tamanho(Tlista *l)
*l
*aux
*primeiro
*ultimo
int tamanho(TLista *l){
TCelula* aux; int tamanho = 0; for(aux=l->primeiro->prox; aux != NULL; aux = aux->prox){ tamanho++; } return tamanho;
}
Int tamanho(Tlista *l)
*l
*aux
*primeiro
*ultimo
int tamanho(TLista *l){
TCelula* aux; int tamanho = 0; for(aux=l->primeiro->prox; aux != NULL; aux = aux->prox){ tamanho++; } return tamanho;
}
Int tamanho(Tlista *l)
*l
*aux
*primeiro
*ultimo
int tamanho(TLista *l){