Lista Dupla Circular

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> /* Necess‡rio para a utiliza‹o da fun‹o malloc() */ typedef struct estru { int numero; struct estru *ante; struct estru *prox; } lista; void main() { lista *p, *q, *ini; p = (lista *) malloc(sizeof(lista)); p->ante = p; p->numero = 1; p->prox = p; q = p; ini = p; printf("A informacao armazenada e apontada pelo ponteiro e: %d\n", p->numero); p = (lista *) malloc(sizeof(lista)); p->ante = q; p->numero = 2; p->prox = ini; q->prox = p; ini->ante = p; q = p; printf("A informacao armazenada e apontada pelo ponteiro e: %d\n", p->numero); p = (lista *) malloc(sizeof(lista)); p->ante = q; p->numero = 3; p->prox = ini; q->prox = p; ini->ante = p; q = p; printf("A informacao armazenada e apontada pelo ponteiro e: %d\n", p->numero); p = (lista *) malloc(sizeof(lista)); p->ante = q; p->numero = 4; p->prox = ini; q->prox = p; ini->ante = p; q = p; printf("A informacao armazenada e apontada pelo ponteiro e: %d\n", p->numero); p = (lista *) malloc(sizeof(lista)); p->ante = q; p->numero = 5; p->prox = ini; q->prox = p; ini->ante = p; q = p; printf("A informacao armazenada e apontada pelo ponteiro e: %d\n\n", p->numero); // Exibir a lista a partir do primeiro n— p = ini; while(p->prox != ini) { printf(" %d ->", p->numero); p = p->prox; } printf(" %d ->fim da lista\n\n", p->numero); // Exibir a lista a partir do œltimo n— printf(" %d ->", p->numero); p = p->ante; while(p != ini) { printf(" %d ->", p->numero); p = p->ante; } printf(" %d ->fim da lista\n\n", p->numero); }
Editor Settings
Theme
Key bindings
Full width
Lines