Buscar

Lista Cirular simples ligada

Prévia do material em texto

Estrutura 
de Dados 
 LISTA CIRCULAR SIMPLES 
Passei aqui um código simples para poderes criar listas circulares simples ligadas, 
com o intuito de facilitar a compressão deste tipo de implementação de lista 
 
 
 
OSVALDO HOSSI 
 
N.º de tel. XXXXXXXXXX 
Fax XXXXXXXXXXX 
Estudante de Engª Informática 
2º Ano – ISPTEC [Angola] 
Osvaldohossi.wordpress.com 
osvaldohossi@gmail.com 
 
 
 
 
 
 
 
Código escrito em linguagem C… no compilador DEV C++ 5.11……. em 23 de Março de 2016 
#include <stdio.h> 
#include <stdlib.h> 
typedef struct Tlista{ 
 int infor; 
 struct Tlista *prox; 
}lista; 
 
lista *inserir(lista* l, int n){ 
 lista* novo = (lista*)malloc(sizeof(lista)); 
 lista* i = l; 
 
 novo->prox = l; 
 novo->infor = n; 
 
 if(l != NULL){ 
 if(l->prox == NULL){ 
 l->prox = novo; 
 }else{ 
 while(i->prox != l){ 
 i = i->prox; 
 } 
 i->prox = novo; 
 } 
 } 
 return novo; 
} 
void visualizar(lista *l){ 
 lista *i = l; 
 do{ 
 printf("[infor = %d] [end = %x] -> [prox = %x]\n",i->infor,i,i->prox); 
 }while(l != (i=i->prox)); 
} 
 
 
 
 
 
 
int main(){ 
 lista* lst = NULL; 
 lst = inserir(lst,7); 
 lst = inserir(lst,6); 
 lst = inserir(lst,3); 
 lst = inserir(lst,9); 
 printf("Dados inseridos na lista circular ligada:: \n\n"); 
 visualizar(lst); 
 system("pause"); 
 return 0; 
} 
 
EXEMPLOS 
Note que eu fiz menção de mostrar além da informação de cada nó da lista, mostrei os endereços 
de nó bem como o endereço que este aponta, de modo a vermos se realmente a lista está sendo 
ou não circular.

Continue navegando