#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);
}