ES UNA INVESTIGACION DE PILAS Y COLAS EN INFORMATICADescripción completa
pilas y colas programacionDescripción completa
Descripción completa
Descripción: 1. Diseñe la estructura de datos pila que implemente la siguiente interfaz:
Descripción completa
pilas y colas
Descripción completa
pilas y colasDescripción completa
Descripción completa
Programación en cDescripción completa
Descripción: EXPLICACION DE LA TEORIA DE COLAS
Descripción completa
pilas
pilotesDescripción completa
Descripción: clasificacion y tipos de pilas
Descripción completa
pilas y pilotes (univercidad tecnologica de santiago) ing: Arelis Mediana
Descripción completa
1
PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS UTILIZANDO VECTORES.
EJEMPLO N° 1:
#include #include #include using namespace std; //PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS UTILIZANDO VECTORES //DECLARACIÓN DE CONSTANTES, VARIABLES Y ESTRUCTURAS #define TAMPILA 3 typedef struct { int Datos[TAMPILA] ; int Tope; }TipoPila; //DECLARACIÓN E IMPLEMENTACIÓN DE FUNCIONES Y PROCEDIMIENTOS int menu(){ int Opcion; cout<< "OPCIONES DE MANEJO DE PILAS\n"; cout<<"____________________________\n"; cout<<"[1].....INSERTAR\n"; cout<<"[2].....ELIMINAR\n"; cout<<"[3].....VACIAR\n"; cout<<"[4].....CIMA\n"; cout<<"[5].....SALIR\n"; cout<<"SELECCIONE OPCION:"; cin>>Opcion; return(Opcion); }
2
void LeerNumero(int &Numero){ cout<<"NUMERO:"; cin>>Numero; }; int PilaLlena (TipoPila Pila){ if (Pila.Tope==TAMPILA-1) return 1; return 0; } int PilaVacia (TipoPila Pila){ if (Pila.Tope==-1) return 1; return 0; } int Eliminar (TipoPila *Pila){ int Aux; if (PilaVacia(*Pila)==0){ Aux=Pila->Datos[Pila->Tope]; Pila->Datos[Pila->Tope]=0; Pila->Tope--; return Aux; } return 0;}
3
int Insertar (TipoPila *Pila, int Num){ if (PilaLlena(*Pila)==0){ Pila->Tope++; Pila->Datos[Pila->Tope]=Num; return 1; } return 0; } void SeleccionarOperacion(){ TipoPila Pila; int Opcion, Numero, Cima; Pila.Tope=-1; while ((Opcion=menu())!=5) { switch (Opcion){ case 1: system("cls"); LeerNumero(Numero); if (Insertar(&Pila,Numero)==1) cout<<"<<<>>>>>>\n"; else cout<<"<<<>>>\n"; break; case 2: system("cls"); Numero=Eliminar(&Pila); if (Numero!=0)
4
printf(" <<<<>>>>\n", Numero); else cout<<"<<<>>>\n"; break; case 3: system("cls"); Cima=Pila.Tope; for (int i=0;i<=Cima;i++){ Numero=Eliminar(&Pila); if (Numero!=0) printf(" <<<<>>>>\n", Numero); else; } break; case 4: system("cls"); if (PilaVacia(Pila)==0) printf(" <<<<>>>>\n", Pila.Datos[Pila.Tope]); else cout<<"<<<>>>\n"; break; default: system("cls"); cout<<"<<<>>>\n"; }//FIN SWITCH }//FIN WHILE }
5
///CUERPO PRINCIPAL DEL PROGRAMA////// int main() { SeleccionarOperacion(); return 0; }
6
PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS UTILIZANDO MEMORIA DINÁMICA. EJEMPLO N° 2:
#include #include #include #include using namespace std; //PROGRAMA QUE IMPLEMENTA EL MANEJO DE PILAS UTILIZANDO MEMORIA DINÁMICA //DECLARACIÓN DE CONSTANTES, VARIABLES Y ESTRUCTURAS #define TAMPILA 3 typedef struct nodo{ int Dato; struct nodo *Siguiente; }TipoNodo;
//DECLARACIÓN E IMPLEMENTACIÓN DE FUNCIONES Y PROCEDIMIENTOS int menu(){ int Opcion; cout<< "OPCIONES DE MANEJO DE PILAS\n"; cout<<"____________________________\n"; cout<<"[1].....INSERTAR\n";
void SeleccionarOperacion(){ TipoPila Pila=NULL; int Opcion, Numero; while ((Opcion=menu())!=5) { switch (Opcion){ case 1: system("cls"); LeerNumero(Numero); Insertar(&Pila,Numero); break; case 2: system("cls"); printf("<<<<>>>>\n"); Numero=Eliminar(&Pila); if (Numero==0)
9
cout<<"<<<>>>\n"; else printf(" <<<<>>>>\n", Numero); break; case 3: system("cls"); printf("<<<<>>>>\n"); do{ Numero=Eliminar(&Pila); if (Numero!=0)
printf(" <<<<>>>>\n", Numero) }while(Numero!=0); break; case 4: system("cls"); if (Pila==NULL) cout<<"<<<>>>\n"; else
}//FIN SWITCH }//FIN WHILE } ///CUERPO PRINCIPAL DEL PROGRAMA////// int main() { SeleccionarOperacion(); return 0; }
11
PROGRAMA QUE IMPLEMENTA EL MANEJO DE COLAS UTILIZANDO VECTORES. EJEMPLO N° 3:
#include #include #include using namespace std; //PROGRAMA QUE IMPLEMENTA EL MANEJO DE COLAS UTILIZANDO VECTORES //DECLARACIÓN DE CONSTANTES, VARIABLES Y ESTRUCTURAS #define TAMCOLA 5 typedef struct { int Datos[TAMCOLA] ; int Frente; int Final; }TipoCola; //DECLARACIÓN E IMPLEMENTACIÓN DE FUNCIONES Y PROCEDIMIENTOS int menu(){ int Opcion; cout<< "OPCIONES DE MANEJO DE COLAS\n"; cout<<"____________________________\n"; cout<<"[1].....INSERTAR\n"; cout<<"[2].....ELIMINAR\n"; cout<<"[3].....FRENTE\n"; cout<<"[4].....SALIR\n"; cout<<"SELECCIONE OPCION:"; cin>>Opcion; return(Opcion); }
12
void LeerNumero(int &Numero){ cout<<"NUMERO:"; cin>>Numero; }; int ColaLlena (TipoCola Cola){ if (Cola.Final==TAMCOLA-1) return 1; return 0; } int ColaVacia (TipoCola Cola){ if (Cola.FinalDatos[Cola->Frente]; Cola->Datos[Cola->Frente]=0; Cola->Frente++; return Aux; } return 0; }
13
int Insertar (TipoCola *Cola, int Num){ if (ColaLlena(*Cola)==0){ Cola->Final++; Cola->Datos[Cola->Final]=Num; return 1; } return 0; } void SeleccionarOperacion(){ TipoCola Cola; int Opcion, Numero; Cola.Frente=0; Cola.Final=-1; while ((Opcion=menu())!=4) { switch (Opcion){ case 1: system("cls"); LeerNumero(Numero); if (Insertar(&Cola,Numero)==1) cout<<"<<<>>>>>>\n"; else cout<<"<<<>>>\n"; break; case 2: system("cls"); Numero=Eliminar(&Cola);
14
if (Numero!=0) printf(" <<<<>>>>\n", Numero); else {cout<<"<<<>>>\n"; Cola.Frente=0; Cola.Final=-1;} break; case 3: system("cls"); if (ColaVacia(Cola)==0) printf(" <<<<>>>>\n", Cola.Datos[Cola.Frente]); else cout<<"<<<>>>\n"; break; default: system("cls"); cout<<"<<<>>>\n"; } }//FIN WHILE*/ } ////CUERPO PRINCIPAL DEL PROGRAMA////// int main() { SeleccionarOperacion(); return 0; }