DemiDante
Bovino Milenario
- Desde
- 23 Dic 2008
- Mensajes
- 1.000
- Tema Autor
- #1
:histerica: pues miren la cosa esta de esta menera, anteriormente aqui en el foro algunos de ustedes me habian echado la mano con un programa de listas enlazadas de doble recorrido y me fue muy util todos los consejos y sugerencias que me dieron pero ahora ese mismo programa le tengo que anexar otra parte mas que seria la parte de listas circular es decir que el ultimo nodo apunte al inicio de lista, hacer un recorrido y una impresion, mas o menos se que es lo que tengo que hacer pero no estoy muy seguro de eso por tal razon necesito de su ayuda otra vez, de echo aki esta el codigo y pues le falta esa parte que les menciono
les estare agradecido y espero que me puedan ayudar. Saludos
HTML:
#include <stdio.h>
#include <Iostream.h>
#include <conio.h>
struct NODO{
int DATO;
struct NODO* sig;
struct NODO* ant;
};
struct NODO* InicioLista=NULL,* Recorre=NULL,* AUX=NULL,* FinLista=NULL;
void InsertaNodo(int Elemento){
AUX=new (struct NODO);
AUX->DATO=Elemento;
AUX->sig=NULL;
AUX->ant=NULL;
if (InicioLista==NULL){
InicioLista=AUX;
}
else {
Recorre=InicioLista;
while(Recorre->sig != NULL){
Recorre=Recorre->sig;
}
Recorre->sig=AUX;
AUX->ant=Recorre;
FinLista=AUX;
}
}
void ImprimirLista( ){
Recorre=InicioLista;
while(Recorre!=NULL){
cout<<Recorre->DATO<<" ";
Recorre=Recorre->sig;
}
getch();
}
void ImprimirListaAlreves( ){
Recorre=FinLista;
while(Recorre!=NULL){
cout<<Recorre->DATO<<" ";
Recorre=Recorre->ant;
}
getch();
}
void main( ){
int opc, Elemento;
do{
cout<<"1)Insertar\n";
cout<<"2)ImprimirLista\n";
cout<<"3)ImprimirLista Al reves\n";
cout<<"4)Salir\n";
cout<<"Opcion : ";
cin>>opc;
if (opc==1){
cout<<"Elemento";
cin>>Elemento;
InsertaNodo(Elemento);
}
else if (opc==2){
cout<<"Elemento de la lista .... \n";
ImprimirLista( );
}
else if (opc==3){
cout<<"Elemento de la lista .... \n";
ImprimirListaAlreves();
}
} while(opc!=4);
}