Удаление из стека - C#

Узнай цену своей работы

Формулировка задачи:

Доброго, я не понимаю, почему в методе Pop() происходит удаление значение из массива(стека) ведь return только возвращает данные, т.е только их отображает. Вот и вопрос, где я допустил ошибку?
class Stack
    {
        char[] chor;
        int tor;
 
        public Stack(int size)
        {
            chor = new char[size];
            tor = 0;
        }
 
        public void Pomesti(char s)
        {
            if (tor == chor.Length)
            {
                Console.WriteLine("Стек Полон");
                return;
            }
            chor[tor] = s;
            tor++;
        }
 
        public char Pop()
        {
            if (tor == 0)
            {
                Console.WriteLine("Стек пуст");
                return (char) 0;
            }
            tor--;
            return chor[tor];
        }
 
public class Program
    {
        public static void Main(string[] args)
        {
            int i;
            char ch;
            Stack bop = new Stack(10);
            for (i = 0; !bop.full(); i++)
            {
                bop.Pomesti((char)('A' + i));
 
            }
            if (bop.full()) Console.WriteLine("Стек полон");
 
            while (!bop.pusto())
            {
                ch = bop.Pop();
                Console.WriteLine(ch);
            }

Решение задачи: «Удаление из стека»

textual
Листинг программы
tor--;

Оцени полезность:

6   голосов , оценка 3.833 из 5