Que tal a todos, tengo un problemita con un programita, estoy haciendo un programa con Listas doblemente encadenadas circulares, y solo estoy creando el nodo y la funcion de ingresar datos y desplegar los datos, pero cuando lo corro me da un error, y segun mis copias esta bien pero a lo mejor tengo al malo por ahi el codigo es el siguiente:
#include<iostream.h>
#include<stdio.h>
#include<dos.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
#include<ctype.h>
#include <time.h>
struct nodo
{
int t;
char desc[10];
nodo *sig,*ant;
};
nodo *lista,*head;
nodo *crear_nuevo(int x)
{
nodo *nuevo;
nuevo=new(nodo);
if (nuevo)
{
nuevo->t=x;
nuevo->sig=nuevo->ant=NULL;
}
return (nuevo);
}
void insertar(int x)
{
nodo *nuevo,*ult;
nuevo=crear_nuevo(x);
if (lista==NULL)
{
lista=nuevo;
}
else
{
if (lista->ant==NULL)
{
ult=lista;
}
else
{
ult=lista->ant;
}
ult->sig=nuevo;
nuevo->sig=ult; ACA MARCA ERROR
nuevo->ant=ult;
ult->ant=nuevo;
}
/*else
cout<<"Memoria insuficiente";
getch();*/
}
void mostrar(nodo *nodos)
{
if (nodos)
{
if (nodos->sig!=lista)
{
cout<<"INGRESADOS "<<nodos->t;
mostrar(nodos->sig);
}
}
}
void main()
{
insertar(2);
insertar(5);
insertar(9);
mostrar(lista);
getch();
}
muchas gracias por la ayuda