Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa Clase ListaDEC
Programa Clase ListaDEC
Programa Clase ListaDEC
#include "stdafx.h"
#include "iostream"
using namespace System;
using namespace std;
struct nodo
{
int dato;
nodo *ant;
nodo *sig;
};
class Ldec
{
private:
nodo *inicial;
nodo *buscarLista(int clave);
public:
Ldec();
~Ldec();
void agregar();
void eliminar();
void desplegar();
};
Ldec::Ldec()
{
inicial=NULL;
}
Ldec::~Ldec()
{
}
nodo *Ldec::buscarLista(int clave)
{
{
//Agrega a una lista que contiene al menos un nodo
anterior=buscarLista(nuevo->dato);
if(anterior==NULL)
{
//Agrega un nodo, que queda de primero,
//en una lista que no esta vacia
inicial->ant->sig=nuevo;
nuevo->ant=inicial->ant;
nuevo->sig=inicial;
inicial->ant=nuevo;
inicial=nuevo;
}
else
{
//Agrega un nodo que queda entre el primero y el
//ultimo
anterior->sig->ant=nuevo;
nuevo->sig=anterior->sig;
nuevo->ant=anterior;
anterior->sig=nuevo;
}
}
cout<<"Desea agregar otro nodo? (s/n)"<<endl;
cin>>resp;
resp=tolower(resp);
}while(resp=='s');
}
void Ldec::eliminar()
{
}
void Ldec::desplegar()
{
int respuesta;
nodo *apunt;
if(inicial==NULL)
{
cout<<"La lista esta vacia"<<endl;
}
else
{
cout<<"Digite 1: para desplegar en sentido horario"<<endl;
cout<<" 2: para desplegar en sentido anti horario"<<endl;
cin>>respuesta;
if(respuesta ==1)
{
apunt=inicial;
do
{
cout<<apunt->dato<<" ";
apunt=apunt->sig;
}while(apunt!=inicial);
}
else
{
}
}
cout<<endl;
}
void main()
{
Ldec l;
l.agregar();
l.desplegar();
}