Как я могу написать код для просмотра и пуст в C #? - PullRequest
0 голосов
/ 17 октября 2018

Вопрос Nooby, который я знаю, но как мне написать код для стека классов Peek и Isempty?я сделал Push и Pop, но не уверен насчет Peek и IsEmpty

public void Push(int value)
{
    array[top++] = value;
}

public int Pop()
{
    return array[--top];
}

public int Peek()
{
    /* ??? */
}

public bool IsEmpty()
{
    /* ??? */
}

1 Ответ

0 голосов
/ 17 октября 2018

Стек будет пустым, если top == 0, поэтому вы можете реализовать IsEmpty() следующим образом:

    public bool IsEmpty()
    {
        return top == 0;
    }

Теперь Peek() не может работать, если стек пуст.Что делать в таком случае, спросите вы?Ответ: Брось исключение:

    public int Peek()
    {
         if (IsEmpty())
             throw new InvalidOperationException("You can't Peek() an empty stack");

         return array[top-1]; // Topmost element is at 'top - 1'.
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...