PROGRAMACION COLAS ESTRUCTURA DE DATOS


#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <iomanip.h>

#include <iostream.h>

class Alumno

{

private:

int Cola[10],Frente,Final,Max;

char Cola1[10][10];

public:

Alumno()

{

int i,j;

char Nulo[2]=" ";

Frente=-1;

Final=-1;

Max=9;

for(i=1;i<9;i++)

{

Cola[i]=0;

strcpy(Cola1[i],Nulo);

}

}

void Push(char Elem[10])

{

if((Frente==0&&Final==9)||(Frente==(Final+1)))

{

cout<<"Cola Llena"<<endl;

return;

}

if(Frente==-1)

{

Frente=0;

Final=0;

}

else if(Final==Max)

Final=0;

else

Final++;

strcpy(Cola1[Final],Elem);

}

void Push(int Elem)

{

if((Frente==0&&Final==9)||(Frente==(Final+1)))

{

cout<<"Cola Llena"<<endl;

return;

}

if(Frente==-1)

{

Frente=0;

Final=0;

}

else if(Final==Max)

Final=0;

else

Final++;

Cola[Final]=Elem;

}

void Push(float Elem)

{

if((Frente==0&&Final==9)||(Frente==(Final+1)))

{

cout<<"Cola Llena"<<endl;

return;

}

if(Frente==-1)

{

Frente=0;

Final=0;

}

else if(Final==Max)

Final=0;

else

Final++;

Cola[Final]=Elem;

}

void Push(double Elem)

{

if((Frente==0&&Final==9)||(Frente==(Final+1)))

{

cout<<"Cola Llena"<<endl;

return;

}

if(Frente==-1)

{

Frente=0;

Final=0;

}

else if(Final==Max)

Final=0;

else

Final++;

Cola[Final]=Elem;

}

void Pop(void)

{

if(Frente!=-1)

{

cout<<"Elmininado el Dato: "<<Cola[Frente];

if(Frente==Final)

{

Frente=-1;

Final=-1;

}

else if(Frente==Max)

Frente=0;

else

Frente++;

}

else

cout<<"Cola Vacia... Imposible Eliminar"<<endl;

}

void Recorrido(void)

{

int i;

if(Frente!=-1)

{

if(Frente<=Final)

for(i=Frente;i<=Final;i++)

cout<<Cola[i]<<endl;

else if(Frente>Final)

for(i=Frente;i!=Final;i++)

{

if(i>Max)

i=0;

cout<<Cola[i]<<endl;

}

}

else

cout<<"Cola Vacia...";

}

void Busqueda(char Elem[10])

{

int i;

if(Frente!=-1)

{

if(Frente<=Final)

for(i=Frente;i<=Final;i++)

if((strcmp(Elem,Cola1[i]))==0)

{

cout<<"Dato "<<Cola1[i]<<" encontrado..."<<endl;

return;

}

else if(Frente>Final)

for(i=Frente;i!=Final;i++)

{

if(i>Max)

i=0;

if((strcmp(Elem,Cola1[i]))==0)

{

cout<<"Dato "<<Cola1[i]<<" encontrado..."<<endl;

return;

}

}

}

else

cout<<"Dato no encontrado...";

}

void Busqueda(int Elem)

{

int i;

if(Frente!=-1)

{

if(Frente<=Final)

for(i=Frente;i<=Final;i++)

if(Elem==Cola[i])

{

cout<<"Dato "<<Cola[i]<<" encontrado..."<<endl;

return;

}

else if(Frente>Final)

for(i=Frente;i!=Final;i++)

{

if(i>Max)

i=0;

if(Elem==Cola[i])

{

cout<<"Dato "<<Cola[i]<<" encontrado..."<<endl;

return;

}

}

}

else

cout<<"Dato no encontrado...";

}

void Busqueda(float Elem)

{

int i;

if(Frente!=-1)

{

if(Frente<=Final)

for(i=Frente;i<=Final;i++)

if(Elem==Cola[i])

{

cout<<"Dato "<<Cola[i]<<" encontrado..."<<endl;

return;

}

else if(Frente>Final)

for(i=Frente;i!=Final;i++)

{

if(i>Max)

i=0;

if(Elem==Cola[i])

{

cout<<"Dato "<<Cola[i]<<" encontrado..."<<endl;

return;

}

}

}

else

cout<<"Dato no encontrado...";

}

void Busqueda(double Elem)

{

int i;

if(Frente!=-1)

{

if(Frente<=Final)

for(i=Frente;i<=Final;i++)

if(Elem==Cola[i])

{

cout<<"Dato "<<Cola[i]<<" encontrado..."<<endl;

return;

}

else if(Frente>Final)

for(i=Frente;i!=Final;i++)

{

if(i>Max)

i=0;

if(Elem==Cola[i])

{

cout<<"Dato "<<Cola[i]<<" encontrado..."<<endl;

return;

}

}

}

else

cout<<"Dato no encontrado...";

}

void Borrar(char Elem[10])

{

char Temp[10][10];

int i,j;

if(Frente!=-1)

{

if(Frente<=Final)

for(j=0,i=Frente;i<=Final;i++,j++)

{

if((strcmp(Elem,Cola1[i]))==0)

{

cout<<"Eliminado el Dato "<<Cola1[i]<<endl;

if(Frente==Final)

{

Frente=-1;

Final=-1;

return;

}

else if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

strcpy(Cola1[i],Temp[j]);

return;

}

strcpy(Temp[j],Cola1[i]);

}

else if(Frente>Final)

for(j=0,i=Frente;i!=Final;i++,j++)

{

if(i>Max)

i=0;

if((strcmp(Elem,Cola1[i]))==0)

{

cout<<"Eliminado el Dato "<<Cola1[i]<<endl;

if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

{

if(i>Max)

i=0;

strcpy(Cola1[i],Temp[j]);

}

return;

}

strcpy(Temp[j],Cola1[i]);

}

cout<<"Dato no Encontrado...";

}

else

cout<<"Cola Vacia... Imposible Eliminar...";

}

void Borrar(int Elem)

{

int Temp[10],i,j;

if(Frente!=-1)

{

if(Frente<=Final)

for(j=0,i=Frente;i<=Final;i++,j++)

{

if(Elem==Cola[i])

{

cout<<"Eliminado el Dato "<<Cola[i]<<endl;

if(Frente==Final)

{

Frente=-1;

Final=-1;

return;

}

else if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

Cola[i]=Temp[j];

return;

}

Temp[j]=Cola[i];

}

else if(Frente>Final)

for(j=0,i=Frente;i!=Final;i++,j++)

{

if(i>Max)

i=0;

if(Elem==Cola[i])

{

cout<<"Eliminado el Dato "<<Cola[i]<<endl;

if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

{

if(i>Max)

i=0;

Cola[i]=Temp[j];

}

return;

}

Temp[j]=Cola[i];

}

cout<<"Dato no Encontrado...";

}

else

cout<<"Cola Vacia... Imposible Eliminar...";

}

void Borrar(float Elem)

{

int Temp[10],i,j;

if(Frente!=-1)

{

if(Frente<=Final)

for(j=0,i=Frente;i<=Final;i++,j++)

{

if(Elem==Cola[i])

{

cout<<"Eliminado el Dato "<<Cola[i]<<endl;

if(Frente==Final)

{

Frente=-1;

Final=-1;

return;

}

else if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

Cola[i]=Temp[j];

return;

}

Temp[j]=Cola[i];

}

else if(Frente>Final)

for(j=0,i=Frente;i!=Final;i++,j++)

{

if(i>Max)

i=0;

if(Elem==Cola[i])

{

cout<<"Eliminado el Dato "<<Cola[i]<<endl;

if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

{

if(i>Max)

i=0;

Cola[i]=Temp[j];

}

return;

}

Temp[j]=Cola[i];

}

cout<<"Dato no Encontrado...";

}

else

cout<<"Cola Vacia... Imposible Eliminar...";

}

void Borrar(double Elem)

{

int Temp[10],i,j;

if(Frente!=-1)

{

if(Frente<=Final)

for(j=0,i=Frente;i<=Final;i++,j++)

{

if(Elem==Cola[i])

{

cout<<"Eliminado el Dato "<<Cola[i]<<endl;

if(Frente==Final)

{

Frente=-1;

Final=-1;

return;

}

else if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

Cola[i]=Temp[j];

return;

}

Temp[j]=Cola[i];

}

else if(Frente>Final)

for(j=0,i=Frente;i!=Final;i++,j++)

{

if(i>Max)

i=0;

if(Elem==Cola[i])

{

cout<<"Eliminado el Dato "<<Cola[i]<<endl;

if(Frente==Max)

Frente=0;

else

Frente++;

for(j--,i=Frente;j!=-1;i++,j--)

{

if(i>Max)

i=0;

Cola[i]=Temp[j];

}

return;

}

Temp[j]=Cola[i];

}

cout<<"Dato no Encontrado...";

}

else

cout<<"Cola Vacia... Imposible Eliminar...";

}

}tec;

main()

{

int res,op=0;

while(op!=6)

{

clrscr();

cout<<"\n1) Recorrido\n2) Busqueda\n3) Push\n4) Pop\n5) Eliminar un Dato\n6) Salir"<<endl;

gotoxy(1,1);

cout<<"Que deseas hacer?: ";

cin>>op;

gotoxy(1,10);

switch (op)

{

case 1:

tec.Recorrido();

break;

case 2:

cout<<"Que Numero deseas buscar?"<<endl;

cin>>res;

tec.Busqueda(res);

break;

case 3:

cout<<"Que Numero quieres Insertar?"<<endl;

cin>>res;

tec.Push(res);

break;

case 4:

tec.Pop();

break;

case 5:

cout<<"Que Numero deseas eliminar?"<<endl;

cin>>res;

tec.Borrar(res);

break;

case 6:

cout<<"Salida...";

break;

default:

cout<<"Opcion Erronea"<<endl;

break;

}

getch();

}

}

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad