11.01 - Implementing a queue using array

Objetive

Implementing a queue

Solution

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();
    }
}

Popular Posts