Lista duplamente encadeada circular

Run Settings
LanguageC
Language Version
Run Command
#include <conio.h> #include <stdio.h> #include <stdlib.h> typedef struct stru { int numero; struct stru *ante; struct stru *prox; }lista; int main(){ lista *p, *q, *r, *prim; int i, qtd; prim = NULL; printf("Digite a quantidade de nos a ser criado: "); scanf("%d", &qtd); for (i = 1; i <= qtd; i++){ p = (lista*) malloc(sizeof(lista)); p->numero = i; if(prim == NULL) { prim = p; } else { p->ante = q; q->prox = p; } prim->ante = p; p->prox = prim; q = p; } //Exibir a partir do primeiro no p = prim; while(p->prox != prim) { printf(" %d -> ", p->numero); p = p->prox; } printf(" %d -> fim da lista\n\n", p->numero); //Exibir a partir do ultimo no printf(" %d -> ", p->numero); p = p->ante; while(p != prim) { printf(" %d -> ", p->numero); p = p->ante; } printf(" %d -> fim da lista\n\n", p->numero); }
Editor Settings
Theme
Key bindings
Full width
Lines