zoukankan      html  css  js  c++  java
  • 用栈实现队列,实现Enqueue和Dequeue方法

    队列是先进先出,栈是先进后出,使用两个栈来模拟队列:

    入队就是入第一个栈,出队是把第一个栈的元素全部出栈到第二个栈里,然后第二个栈出栈,再把剩下的倒回第一个栈。

     1using System;
     2using System.Collections;
     3
     4namespace Algorithm
     5{
     6    class Program
     7    {
     8        static void Main(string[] args)
     9        {
    10            Queueq = new Queue();
    11            q.Enqueue(1);
    12            q.Enqueue(2);
    13            q.Enqueue(3);
    14            q.Enqueue(4);
    15            Console.WriteLine(q.Dequeue());
    16        }

    17    }

    18    class Queue
    19    {
    20        private Stack s1=new Stack();
    21        private Stack s2=new Stack();
    22
    23        public void Enqueue(object o) 
    24        {
    25            s1.Push(o);
    26        }

    27        public object Dequeue() 
    28        {
    29            while (s1.Count > 0
    30            {
    31                s2.Push(s1.Pop());
    32            }

    33            object o = s2.Pop();
    34            while (s2.Count > 0
    35            {
    36                s1.Push(s2.Pop());
    37            }

    38            return o;
    39        }

    40    }

    41}
  • 相关阅读:
    云计算-MapReduce
    云计算--hbase shell
    云计算--hdfs dfs 命令
    云计算--MPI
    jQuery 效果
    jQuery 效果
    JQuery效果隐藏/显示
    JQuery教程
    六级啊啊啊
    jQuery 安装
  • 原文地址:https://www.cnblogs.com/zhangz/p/1301462.html
Copyright © 2011-2022 走看看