Colas - POO
Enviado por kasho0 • 5 de Agosto de 2013 • 2.843 Palabras (12 Páginas) • 512 Visitas
COLAS
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
Un ejemplo de cola sería la cola para las tortillas, si llega primero pedro, en segundo pablo y en tercero Juancho, al primero que atienden es a pedro y es el primero que se va, luego sigue pablo y después Juancho
Representación de las Colas
Se las puede representar por listas enlazadas o por arrays
C= Q(1), Q(2)......., Q(n).
En cualquier caso se necesitan dos punteros
• frente (f)
• final (r)
y la lista o array de n elementos (LONGMAX)
parte no utilizada de la lista Cola parte no utilizada de la lista
Para ver el gráfico seleccione la opción "Descargar" del menú superior
• Representación de una Cola, mediante un array.
100 264 119 48
Frente final
• Representación de una Cola mediante una lista enlazada
1 2 3 4
100 264 119 48
Frente final
Las operaciones que se pueden realizar con una cola son:
1. Acceder al primer elemento de la Cola
2. Añadir un elemento al final de la Cola
3. Eliminar el primer elemento de la Cola
Ejemplo de cola en consola para C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ColasCirculares
{
class Program
{
static void Main(string[] args)
{
int T = 5; //Tamaño del arreglo
string[] ColaArreglo = new string[T]; //cola
string Elemento = string.Empty; //Dato
int Frente = -1; //Frente
int NE = 0;//Número de elementos en la cola
string x = string.Empty;
do
{
Console.Write("\n\nMenú \n 1)Meter elemento a la cola \n 2)Sacar elemento de la cola \n 3)Muestra cola \n 0)Salir \n\n");
x = Console.ReadLine();
switch (x)
{
case "1":
Console.Write("INGRESAR VALORES A LA COLA \n");
Console.Write("Escriba el dato a ingresar a la cola:");
Elemento = Console.ReadLine();
while (string.IsNullOrEmpty(Elemento))
{
Console.Write("Ingrese un valor válido a la cola:");
Elemento = Console.ReadLine();
}
if (!estaLlena(NE, T))
{
Meter(ref Frente, ref NE, T, ColaArreglo, Elemento);
}
else
{
Console.Write("La cola está llena");
}
break;
case "2":
Console.Write("SACAL ELEMENTO DE LA COLA \n");
if (!estaVacia(NE))
{
Elemento= Sacar(ref Frente, ref NE, T, ColaArreglo);
Console.Write("El elemento que se saco de la cola es {0}",Elemento);
}
else
{
Console.Write("La cola está vacia \n");
}
break;
case "3":
Console.Write("MOSTRAR COLA \n");
if (!estaVacia(NE))
{
...