Класс Stack
Класс Stack<T> из пространства имён
System.Collections.Generic реализует стек:
элементы кладут на верх методом
Push,
а снимают с верха методами
Pop
и Peek.
Тип элемента задаётся параметром T.
Синтаксис
Stack<T> stack = new Stack<T>();
Stack<T> stack = new Stack<T>(capacity);
Пример
Давайте положим числа на стек и снимем верх:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<int> nums = new Stack<int>();
nums.Push(1);
nums.Push(2);
nums.Push(3);
Console.WriteLine(nums.Pop());
}
}
Результат выполнения кода:
3
Пример
Давайте опустошим стек через Pop:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<int> nums = new Stack<int>();
nums.Push(1);
nums.Push(2);
nums.Push(3);
while (nums.Count > 0)
{
Console.WriteLine(nums.Pop());
}
}
}
Результат выполнения кода:
3
2
1
Пример
Давайте посмотрим верх стека строк без снятия:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<string> items = new Stack<string>();
items.Push("a");
items.Push("b");
Console.WriteLine(items.Peek());
Console.WriteLine(items.Count);
}
}
Результат выполнения кода:
"b"
2
Смотрите также
-
свойство
Count,
которое показывает высоту стопки -
метод
TryPop,
который снимает верх без исключения -
класс
Queue<T>,
который работает как очередь FIFO -
интерфейс
IEnumerable,
который позволяет обходить стек в foreach