Colas - POO
kasho05 de Agosto de 2013
2.843 Palabras (12 Páginas)542 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))
{
...