Błąd w programie z implementacją stosu

0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Stos
{
    int [] tablica;
    int rozmiar;
    int licznik;

    public void Init(int liczba)
    {
        licznik = 0;
        this.rozmiar = liczba;
        tablica = new int[liczba];
    }

    public bool Full()
    {
        return licznik == rozmiar;
    }

    public bool Empty()
    {
        return licznik == 0;
    }

    public void Push(int liczba)
    {
        if(licznik < rozmiar)
        {
            tablica[licznik] = liczba;
        }
    }

    public int Top()
    {
        if(Convert.ToBoolean(licznik))
        {
            return tablica[licznik - 1];
        }
        else
        {
            return 0;
        }
    }

    public void Pop()
    {
        if(Convert.ToBoolean(licznik))
        {
            --licznik;
        }
        else
        {
            Console.WriteLine("Na stosie nie ma juz elementow");
        }
    }

    public void Destroy()
    {
    }
}




namespace zadanie3
{
    class Program
    {
        static void Main(string[] args)
        {
            Stos s1 = new Stos();
            Stos s2 = new Stos();

            s1.Init(10);
            s2.Init(10);

            Console.WriteLine("Podawaj kolejne liczby ktora chcesz umiescic na stosie:");

            for(int i = 0; i < 10; ++i)
            {
                int liczba;
                liczba = Convert.ToInt32(Console.ReadLine());
                s1.Push(liczba);

            }

            for (int i = 0; i < 10; ++i)
            {
                s2.Push(s1.Top());
                s1.Pop();
            }

            Console.WriteLine("Wypisanie zawartosci 2 stosu: ");
            for (int i = 0; i < 10; ++i)
            {
                Console.WriteLine(s2.Top());
                s2.Pop();
            }

            Console.ReadKey();
        }
    }
}

Może mógłby ktoś podpowiedzieć czemu później gdy chcę wyświetlić 2 stos pokazuję się, że nie ma elementów na stosie? Wydaję się, że implementacja jest dobra.

3

Nie zwiększasz licznika przy wpychaniu na stos.

0

Warto dodać w tym temacie info o typach generycznych : https://msdn.microsoft.com/en-us/library/ms379564%28v=vs.80%29.aspx lub Typy generyczne

1 użytkowników online, w tym zalogowanych: 0, gości: 1