c# 高级编程 10章213页 【集合】【栈Stack<T>】

125 阅读1分钟

Stack<T>

  • 先进后出
  • 实现了IEnumerable<T>接口,用foreach遍历的时候,从栈顶开始。用枚举器读取元素,不会改变元素状态。
  • 实现了ICollection接口

Stack<T>成员

成员说明
Count元素个数
Push()栈顶添加一个元素
Pop()栈顶删除一个元素,并删除。如果栈是空的,就抛出InvalidOperationException
Peek()返回栈顶元素,但不删除它
Contains()确定某个元素是否在栈中

示例

    class Program
    {
        static void Main()
        {
            var alphabet = new Stack<char>();
            alphabet.Push('A');
            alphabet.Push('B');
            alphabet.Push('C');

            Console.Write("First iteration: ");
            foreach (char item in alphabet)
            {
                Console.Write(item);
            }
            Console.WriteLine();

            Console.Write("Second iteration: ");
            while (alphabet.Count > 0)
            {
                Console.Write(alphabet.Pop());
            }
            Console.WriteLine();
        }
    }

输出:

First iteration: CBA
Second iteration: CBA