一. 队列简介

 1. 什么是队列

 队列(Queue)只允许在一端进行插入,在另一端进行删除的线性表。(队尾入队,队头出队),可见队列具有先进先出(First In First Out)或后进后出( Last In Last Out)的特性。

 C#中提供Queue队列类,它不是线程安全的; 如需要使用线程安全的队列类,则使用:ConcurrentQueue

第八节:队列简介、手撸顺序队列、手撸链队列和队列的应用

2. 名词

 队头( Front):队列中允许数据删除的那一端。

 队尾( Rear):队列中允许数据插入的那一端。

 队上溢(Full):存储空间已满,仍希望入队操作,会产生上溢出,是一种空间不足的出错状态。

 队下溢(Empty):队内空间无数据,仍希望出队操作,会产生下溢出,是一种数据不足的出错状态。

 空队列(Empty Queue):队列中没有数据元素.

 入队(Enqueue):将一个数据插入到队尾的操作。

 出队(Dequeue):读取队头节点并删除该节点的操作

3. 常用Api

 Enqueue()入队(放在队尾)

 Dequeue()出队(移除队首元素,并返回被移除的元素)

 Peek()取得队首的元素,不移除

 Clear()清空元素

 Count获取队列中元素的个数

测试代码:

         {
                Console.WriteLine("--------------C#提供的Queue---------------------");
                Queue<int> s1 = new Queue<int>();
                s1.Enqueue(1);
                s1.Enqueue(2);
                s1.Enqueue(3);
                s1.Enqueue(4);
                Console.WriteLine($"元素的个数为:{s1.Count}");
                int p1 = s1.Dequeue();     //取出并删除
                Console.WriteLine($"元素的个数为:{s1.Count},取出的数据为:{p1}");
                int p2 = s1.Peek();     //取出不删除
                Console.WriteLine($"元素的个数为:{s1.Count},取出的数据为:{p2}");
                s1.Clear();
                Console.WriteLine($"元素的个数为:{s1.Count}");
            }
View Code

相关文章:

  • 2021-12-20
  • 2022-12-23
  • 2022-01-11
  • 2021-11-07
  • 2021-11-07
  • 2022-12-23
  • 2021-08-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-11
  • 2021-11-23
  • 2021-08-23
相关资源
相似解决方案