队列类Queue和堆栈类的简单应用

1.队列类Queue
  队列是指先入先出的数据结构,每次只能访问队首的元素,新元素只能加入到队尾。

  Queue类的Enqueue方法用于追加新元素,Dequeue方法用于取出队首元素,Peek方法则只读取队首元素。

demo:

        public static void Queue()
        {
            Queue que1 = new Queue();
            que1.Enqueue(new DateTime(2012, 1, 6));
            que1.Enqueue("小寒");
            que1.Enqueue(13);
            foreach (var item in que1)
            {
                Console.WriteLine("{0}的类型是:{1}", item, item.GetType());
            }
            while (que1.Count > 0)
            {
                Console.WriteLine(que1.Peek());
                Console.WriteLine(que1.Dequeue());
            }
            Console.ReadLine();
        }

2.堆栈类Stack

  和队列正好相反,堆栈是指后入先出的数据结构,每次只能访问栈顶的元素,且新元素只能加入到栈顶。

 Stack类的Push方法使新元素入栈,Pop方法使栈顶元素出栈,Peek方法则只读取栈顶元素。

demo:

 

        public static void Stack()
        {
            Stack st = new Stack();
            st.Push(1);
            int x = 2, tmp;
            while (st.Count < 20)
            {
                tmp = x + Convert.ToInt32(st.Peek());
                st.Push(x);
                x = tmp;
            }
            //求第20个数字
            Console.WriteLine(st.Peek());

            //只读方式读取
            foreach (var item in st)
            {
                Console.Write(item);
                Console.Write(' ');
            }

            //Pop()移除方式读取
            Console.WriteLine();
            while (st.Count > 0)
            {
                Console.Write(st.Pop());
                Console.Write(' ');
            }
            Console.ReadLine();
        }

 

 

posted @ 2017-01-03 18:39  花生打代码会头痛  阅读(110)  评论(0)    收藏  举报