Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Autor: Joel Fernandez Segura
- Tema : Colas
- Ejercicio 1 :Implementar una cola con todas sus operaciones
- IDE: Codeblocks
- */
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- struct nodo{
- int nro;
- struct nodo *sgte;
- };
- typedef struct nodo *Puntero;
- class Cola{
- public:
- Cola(void);
- void Encolar(int );
- int Desencolar(void );
- bool ColaVacia(void);
- void MostrarCola(void);
- void VaciarCola(void);
- private:
- Puntero delante;//puntero al primer elemento de la cola
- Puntero atras;//puntero al ultimo elemento de la cola
- };
- Cola::Cola(void){
- delante=NULL;//inicializamos los punteros
- atras=NULL;
- }
- bool Cola::ColaVacia(){
- if(delante==NULL)
- return true;
- else return false;
- }
- void Cola::Encolar(int x){
- Puntero p_aux;
- p_aux=new(struct nodo);
- p_aux->nro=x;
- p_aux->sgte=NULL;
- if(delante==NULL)
- delante=p_aux;
- else atras->sgte=p_aux;
- atras=p_aux;
- }
- int Cola::Desencolar(void){
- int n;
- Puntero p_aux;
- p_aux=delante;
- n=p_aux->nro;
- delante=(delante)->sgte;
- delete(p_aux);
- return n;
- }
- void Cola::MostrarCola(void){
- Puntero p_aux;
- p_aux=delante;
- while(p_aux!=NULL){
- cout<<"\n\n\t"<<p_aux->nro;
- p_aux=p_aux->sgte;
- }
- }
- void Cola::VaciarCola(void){
- Puntero p_aux,r_aux;
- p_aux=delante;
- while(p_aux!=NULL){
- r_aux=p_aux;
- p_aux=p_aux->sgte;
- delete(r_aux);
- }
- delante=NULL;
- atras=NULL;
- }
- int menu(void)
- {
- cout<<"\n\n\t -------------------------------------------\n";
- cout<<"\t| IMPLEMENTACION DE UNA COLA |\n";
- cout<<"\t|-------------------------------------------|\n";
- cout<<" \t| |"<<endl;
- cout<<" \t| 1. ENCOLAR |"<<endl;
- cout<<" \t| 2. DESENCOLAR |"<<endl;
- cout<<" \t| 3. MOSTRAR COLA |"<<endl;
- cout<<" \t| 4. VACIAR COLA |"<<endl;
- cout<<" \t| 5. SALIR |"<<endl;
- cout<<" \t| |"<<endl;
- cout<<"\t -------------------------------------------\n";
- cout<<"\t Ingrese opcion: ";
- }
- int main(void ){
- system("color 1f");
- Cola cola;
- int x;
- int op;
- do
- {
- menu(); cin>> op;
- switch(op)
- {
- case 1: cout<< "\n\t INGRESE NUMERO A ENCOLAR: "; cin>> x;
- cola.Encolar(x);
- cout<<"\n\n\t\tNumero " << x << " ENCOLADO...\n\n";
- break;
- case 2:
- if(cola.ColaVacia()==true)
- cout<<"\n\n\tCola Vacia....";
- else{
- x = cola.Desencolar( );
- cout<<"\n\n\tNumero "<<x<<" Desencolado\n";
- }
- break;
- case 3:
- cout << "\n\n\t MOSTRANDO COLA\n\n";
- if(cola.ColaVacia()!=true)
- cola.MostrarCola( );
- else
- cout<<"\n\n\tCola vacia..!"<<endl;
- break;
- case 4:
- cola.VaciarCola( );
- cout<<"\n\n\t\tCola eliminada...\n\n";
- break;
- default: cout<<"\n\tIngrese una Opcion Valida....!!";
- }
- cout<<endl<<endl;
- system("pause"); system("cls");
- }while(op!=5);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment