atomy

    一、队列(Queue)

    1.1、概念

    队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队

    1.2、Queue类的属性

    下表列出了Queue类的一些常用的属性:

属性 描述
Count 获取 Queue 中包含的元素个数。

    1.3、Queue类的方法

    下表列出了Queue类的一些常用的方法:

序号 方法名 & 描述
1 public virtual void Clear(); 
从 Queue 中移除所有的元素。
2 public virtual bool Contains( object obj ); 
判断某个元素是否在 Queue 中。
3 public virtual object Dequeue();
移除并返回在 Queue 的开头的对象。
4 public virtual void Enqueue( object obj ); 
向 Queue 的末尾添加一个对象。
5 public virtual object[] ToArray();
复制 Queue 到一个新的数组中。
6 public virtual void TrimToSize();
设置容量为 Queue 中元素的实际个数。

    1.4、示例演示

    class Program
    {
        static void Main(string[] args)
        {
            #region 队列
            Queue queue = new Queue();

            queue.Enqueue(\'A\');
            queue.Enqueue(\'B\');
            queue.Enqueue(\'C\');
            queue.Enqueue(\'D\');

            Console.WriteLine("Current queue: ");
            foreach (char item in queue)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            queue.Enqueue(\'E\');
            queue.Enqueue(\'F\');

            Console.WriteLine("Current queue: ");
            foreach (char item in queue)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            Console.WriteLine("Removing some values: ");
            char c = (char)queue.Dequeue();
            Console.WriteLine($"The removed value: {c}");
            c = (char)queue.Dequeue();
            Console.WriteLine($"The removed value: {c}");

            Console.Read();
            #endregion
        }
    }

    运行结果如下:

    二、堆栈(Stack)

    2.1、概念

    堆栈(Stack)代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。

    2.2、Stack类的属性

    下表列出了Stack类的一些常用的属性:

属性 描述
Count 获取 Stack 中包含的元素个数。

    2.3、Stack类的方法

    下表列出了Stack类的一些常用的方法: 

序号 方法名 & 描述
1 public virtual void Clear(); 
从 Stack 中移除所有的元素。
2 public virtual bool Contains( object obj ); 
判断某个元素是否在 Stack 中。
3 public virtual object Peek();
返回在 Stack 的顶部的对象,但不移除它。
4 public virtual object Pop();
移除并返回在 Stack 的顶部的对象。
5 public virtual void Push( object obj );
向 Stack 的顶部添加一个对象。
6 public virtual object[] ToArray();
复制 Stack 到一个新的数组中。

    2.4、示例演示

    class Program
    {
        static void Main(string[] args)
        {
            #region 堆栈
            Stack stack = new Stack();

            stack.Push(\'A\');
            stack.Push(\'B\');
            stack.Push(\'C\');
            stack.Push(\'D\');

            Console.WriteLine("Current stack: ");
            foreach (char item in stack)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            stack.Push(\'E\');
            stack.Push(\'F\');

            Console.WriteLine("Current stack: ");
            foreach (char item in stack)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            Console.WriteLine($"The next popable value in stack: {stack.Peek()}");

            Console.WriteLine("Removing some values: ");
            stack.Pop();
            stack.Pop();
            stack.Pop();

            Console.WriteLine("Current stack: ");
            foreach (char item in stack)
            {
                Console.Write(item + " ");
            }

            Console.Read();
            #endregion
        }
    }

    运行结果如下:

 

    参考自:

    https://www.cnblogs.com/JiYF/p/6281667.html

分类:

技术点:

相关文章:

  • 2021-08-21
  • 2021-09-08
  • 2021-09-16
  • 2018-12-13
  • 2021-06-20
  • 2021-05-25
  • 2021-09-27
猜你喜欢
  • 2021-11-17
  • 2021-11-17
  • 2021-11-29
  • 2021-06-24
  • 2021-11-17
  • 2021-11-17
相关资源
相似解决方案