PRI

Anuncio
Estructuras de Datos
PILAS Y COLAS
EN C++
Rosa Barrera Capot
[email protected]
Las listas se clasifican según como es
ingresada la información:
 Pilas – Ultimo en entrar es primero en salir
Colas – Primero en entrar es primero en salir
Listas – Cualquier otro tipo
PILAS
Una pila corresponde a un conjunto de
datos, de tal forma que el último dato en
ingresar es el primero en salir.
TOP
Donde:
• TOP: Puntero que contiene la dirección del último nodo ingresado
• TOP = NULL
Pila vacía
Función push() y pop()
 Push, corresponde a su nombre universal
para ingreso a una Pila
 Pop, corresponde a su nombre universal
para eliminar un elemento de una Pila
 Agrega/Elimina un solo nodo a la Pila.
 Todo en una pila, se realiza desde la
cabeza.
Pilas
Ejercicio:
Implementar clase Pila
COLAS
Una cola corresponde a un conjunto de
datos, de tal forma que el primer dato en
ingresar es el primero en salir.
PRI
ULT
Donde:
• PRI: Puntero que contiene la dirección de la cabeza de la cola
•ULT: Puntero que contiene la dirección del último nodo de la cola
• PRI = ULT = NULL
Cola vacía
struct nodo
{
int info;
nodo *sig;
};
class Cola
{
private:
nodo *Pri;
nodo *Ult;
public:
Cola();
~Cola();
void ingresa(int n);
void elimina();
void mostrar();
};
Cola::Cola()
{
Pri=Ult=NULL;
}
Cola::~Cola()
{
nodo *q;
while(Pri)
{
q=Pri;
Pri=Pri->sig;
delete q;
}
}
void Cola::ingresa(int n)
{
nodo *q;
q=new nodo;
q->info=n;
q->sig=NULL;
if(!Pri)
{
Pri=q;
Ult=q;
}
else
{
Ult->sig=q;
Ult=q;
}
}
void Cola::elimina()
{
nodo *q;
if (Pri)
{ q=Pri;
Pri=Pri->sig;
delete q;
}
else
cout<<“LISTA VACIA”;
}
OTROS TIPOS DE
LISTAS
 Listas circulares
 Listas doblemente enlazadas
Descargar