sábado, 9 de junio de 2007

Un Primer Programa usando Listas Enlazadas

#include < iostream.h >
#include < stdio.h >
#include < conio.h >
struct nodo
{int dato;
nodo *sig;}
*inicio, * final;

void crear_lista (int num)
{nodo *nuevo;
nuevo = new(nodo);
nuevo->dato = num;
inicio = final = nuevo;
final->sig = NULL;}

void insertar_inicio (int num)
{nodo *nuevo;
nuevo = new(nodo);
nuevo->sig = inicio;
nuevo->dato = num;
inicio = nuevo;}

void insertar_final (int num)
{nodo *nuevo;
nuevo = new(nodo);
final->sig = nuevo;
nuevo->sig = NULL;
nuevo->dato = num;
final = nuevo;}

void insertar_n (int num)
{nodo *temp, *nuevo;
temp=inicio;
while (temp->sig->dato{temp=temp->sig;}
nuevo=new(nodo);
nuevo->sig=temp->sig;
temp->sig=nuevo;
nuevo->dato=num;}

void imprimir_lista()
{nodo *temp;
temp = inicio;
while (temp!=NULL)
{cout<dato<temp = temp->sig;}
getch();}

void main ()
{clrscr();
int numero,cuantos;
cout<<"Cuantos numeros va a ingresar: ";
cin>>cuantos;
crear_lista(1);
for (int x=0; x < cuantos;x++)
{cout<<"ingrese numero: ";
cin>>numero;
if (numero<=inicio->dato)
insertar_inicio(numero);
else
if (numero>=final->dato)
insertar_final(numero);
else
insertar_n(numero);}
imprimir_lista();}

No hay comentarios: