
contar nodos de una cola
Publicado por paola (10 intervenciones) el 16/05/2013 19:29:31
cual es el codigo para contar nodos de una cola!
y buscar !
y buscar !
Valora esta pregunta


0
#include"stdio.h"
#include"iostream.h"
#include"conio.h"
#define localizar (struct nodo*)malloc(sizeof(struct nodo))
struct nodo
{
int info;
struct nodo*sig;
struct nodo*ant;
};
struct nodo *cab;
void iniciar()
{
cab=new nodo;
cab->sig=cab;
}
void sumar()
{
struct nodo*nuevo;
nuevo = new nodo;
cout<<"digite un numero: ";
cin>>nuevo->info;
nuevo->sig=cab->sig;
cab->sig=nuevo;
cab=nuevo;
}
void imprimir()
{
struct nodo*r;
if(cab==cab->sig)
{
cout<<"sin elemetos";
getch();
}
else
{
r=cab->sig;
do
{
r=r->sig;
cout<<r->info<<" ";
}while(r!=cab);
}
getch();
}
void contar(struct nodo *cab)
{
struct nodo *aux;
int z=0;
int n=0;
if(cab->sig==NULL)
cout<<"cola Vacia";
else
{
aux=cab->sig;
while(aux!=cab)
{z++;
aux=aux->sig;
}
cout<<"\nEl numero de elementos encontrados es : "<<z<<"\n";
}
getch();
}
void buscar(struct nodo *cab)
{
struct nodo *p;
int i = 1, aux = 0;
int valor=0;
cout<<"digite el numero a buscar: ";
cin>> p->info;
aux= p->info;
while(aux!=cab)
{
if(aux=cab)
{
cout<<endl<<" Encontrada en posicion "<< +i <<endl;
cout<<"si esta ! "<<p->info<<endl;
aux= 1;
}
p = p->sig;
}
if(cab->sig==NULL)
cout<<"\n\n Numero no encontrado..!"<< endl;
getch();
}
int main()
{
int dato;
iniciar();
do
{
system("cls");
cout<<"1. adicionar \n";
cout<<"2. imprimir \n";
cout<<"3. contar nodos \n";
cout<<"4. buscar \n";
cout<<"5. salir \n";
cout<<"Digite dato \n";
cin>>dato;
switch(dato)
{
case 1:{ sumar();
break;
}
case 2:{imprimir();
break;
}
case 3:{
contar(cab);
getch();
break;
}
case 4:{
buscar(cab);
break;
}
}
} while(dato!=5);
return 0;
}