Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Colas en C++
Colas en C++
Colas en C++
Una cola es una estructura de datos, donde los datos solo se insertan por un
extremo (atrás) y eliminan por el otro (adelante). El manejo es muy similar a las
listas enlazadas, es posible definir el manejo de una cola utilizando las mismas
funciones de las listas, pero especificándolos.
El nodo típico para construir colas es el mismo que vimos para la construcción de
listas, con la agregación de otra estructura que tiene dos punteros mas, adelante
(apunta al primer elemento) y atrás (apunta al último elemento).
struct nodo{
int nro;
struct nodo * sgte;
};
struct cola{
struct nodo * delante;// apunta al primero
struct nodo * atras;// apunta al ultimo
};
EJEMPLO
#include<iostream.h>
void inicializa(struct cola &);
void encola(struct cola &, int);
void verCola(struct cola);
void vaciaCola(struct cola &);
int desencola(struct cola &);
struct nodo{
int nro;
struct nodo * sgte;
};
struct cola{
struct nodo * delante;// apunta al primero
struct nodo * atras;// apunta al ultimo
};
void main(void)
{
int opc;
struct cola q;
int n;
inicializa(q);
do{ cout<<endl<<"******MENU********"<<endl;
cout<<"[1] Ingresa Elementos"<<endl;
cout<<"[2] Retirar Elementos"<<endl;
cout<<"[3] Visualiza cola"<<endl;
cout<<"[4] Vaciar Cola"<<endl;
cout<<"[5] Salir"<<endl;
1
ESTRUCTURA DE DATOS AVANZADOS COLAS
cout<<"Ingrese Opcion";
cin>>opc;
switch(opc)
{
case 1: cout<<"Ingresar Elementos:";
cin>>n;
encola(q,n);
break;
case 2: if(q.delante!=NULL)
{n=desencola(q);
cout<<endl<<"Desencola elementos"<<n<<endl;}
else
cout<<endl<<"No hay elementos en la cola"<<endl;
break;
case 3: cout<<endl<<"Elementos de la cola:"<<endl;
verCola(q);
break;
case 4: vaciaCola(q);
break;
}
}while(opc!=5);
}
//funciones---------------------------
void inicializa(struct cola &q)
{q.delante=NULL;//apunta al primer elemento
q.atras=NULL; //apunta al ultimo elemento
}
2
ESTRUCTURA DE DATOS AVANZADOS COLAS
EJERCICIOS PROPUESTOS
Realice un programa que ingrese los datos en una cola, luego divida en dos
colas resultantes, teniendo como referencia para dividirlas el valor central de
la cola.
Se tiene una cola de hombre y mujeres con sus nombres, se debe dividir la
colar en dos resultantes, una para hombres y otra para mujeres.