Implementing a queue using array Learn programming C# Sharp

Lesson:

Dynamic Memory Management


Exercise:

Implementing a queue using array 19


Objetive:

Implementing a queue


Code:

using System;
class Cola
{
    private int[] pila;
    private int posicion;
    private int tamanyo;

    public Cola(int tamanyo)
    {
        posicion = -1;
        this.tamanyo = tamanyo;

        // Iniciamos el array
        pila = new int[this.tamanyo];
    }

    public void Encolar(int valor)
    {
        // Aumentamos posición
        posicion++;

        // Guardamos el valor
        pila[posicion] = valor;
    }

    public int Desencolar()
    {
        int aux = pila[0];

        for (int i = 0; i < posicion; i++)
            pila[i] = pila[i + 1];

        pila[posicion] = aux;

        posicion--;

        // Retornamos el ultimo valor
        return pila[posicion + 1];
    }
}

class TestCola
{
    static void Main()
    {
        bool depurando = false;

        Cola cola = new Cola(2);

        cola.Encolar(1);
        cola.Encolar(2);

        Console.WriteLine(cola.Desencolar());
        Console.WriteLine(cola.Desencolar());

        if (depurando)
            Console.ReadLine();
    }
}