Beispiel #1
0
        static void Main(string[] args)
        {
            //1.使用BCL中的Stack<T>
            //Stack<char> stack = new Stack<char>();
            //2.使用自己的顺序栈
            //IStackDS<char> stack = new SeqStack<char>(30);
            //3.使用自己的链栈
            IStackDS<char> stack = new LinkStack<char>();

            stack.Push('a');
            stack.Push('b');
            stack.Push('c');

            Console.WriteLine(stack.Count);
            char temp = stack.Pop(); //取得栈顶数据  并把栈顶的数据删除

            Console.WriteLine(temp);
            Console.WriteLine(stack.Count);

            char temp2 = stack.Peek();  //取得栈顶的数据 不删除
            Console.WriteLine(temp2);
            Console.WriteLine(stack.Count);

            stack.Clear();
            Console.WriteLine(stack.Count);

            Console.ReadKey();
        }
    void Start()
    {
        LinkStack <int> seqStack = new LinkStack <int>();

        for (int i = 0; i < 3; i++)
        {
            seqStack.Push(i);
        }
        print("展示栈顶元素:" + seqStack.Peek());
        print("栈数量:" + seqStack.GetLength());
        for (int i = 0; i < 3; i++)
        {
            print(seqStack.Pop());
        }
    }