Baixe o app para aproveitar ainda mais
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.
Compartilhar