C#栈Stack的使用

using System;
using System.Collections.Generic;

namespace CSharp栈
{
    class Program
    {
        static void Main(string[] args)
        {
            Stack<string> stack = new Stack<string>();
            stack.Push("元素1");
            stack.Push("元素2");
            stack.Push("元素3");
            stack.Push("元素4");

            // 遍历元素
            foreach (string item in stack)
            {
                Console.WriteLine(item);
            }

            //pop弹出元素,移除并返回位于 Stack 顶部的对象。
            Console.WriteLine("\n移除并返回位于 Stack 顶部的对象---{0}", stack.Pop());
            //peek返回位于 Stack 顶部的对象但不将其移除。
            Console.WriteLine("返回位于 Stack 顶部的对象但不将其移除---{0}", stack.Peek());
            foreach (string item in stack)
            {
                Console.WriteLine(item);
            }

            // 创建新栈,复制元素
            Stack<string> stackNew = new Stack<string>(stack.ToArray());

            Console.WriteLine("\n创建新栈,复制元素:");
            foreach (string item in stackNew)
            {

                Console.WriteLine(item);
            }

            //contains用法
            Console.WriteLine("\nstackNew.Contains(\"元素3\") = {0}",
                stackNew.Contains("four"));

            Console.WriteLine("\nstackNew.Clear()");
            stackNew.Clear();
            Console.WriteLine("\nstackNew.Count = {0}", stackNew.Count);
            Console.ReadKey();
        }
    }
}

 

posted on 2015-09-10 15:19  成功永远在拐角之后  阅读(1057)  评论(0编辑  收藏  举报