C#隊列Queue用法實例分析


這篇文章主要介紹了C#隊列Queue用法,實例分析了隊列的功能、定義及相關使用技巧,需要的朋友可以參考下

本文實例分析了C#隊列Queue用法。分享給大家供大家參考。具體分析如下:

隊列(Queue)在程序設計中扮演着重要的角色,因為它可以模擬隊列的數據操作。例如,排隊買票就是一個隊列操作,后來的人排在后面,先來的人排在前面,並且買票請求先被處理。為了模擬隊列的操作,Queue在ArrayList的基礎上加入了以下限制

1.元素采用先入先出機制(FIFO,First In First Out),即先進入隊列的元素必須先離開隊列。最先進入的元素稱為隊頭元素。

元素只能被添加到隊尾(稱為入隊),不允許在中間的某個位置插入。也就是說,不支持ArrayList中的Insert方法

2.只有隊頭的元素才能被刪除(稱為出隊),不允許直接對隊列中的非隊頭元素進行刪除,從而保證FIFO機制。也就是說,不支持ArrayList中的Remove方法。

3.不允許直接對隊列中非隊頭元素進行訪問。也就是說,不支持ArrayList中的索引訪問,只允許遍歷訪問

注意:

Queue.Enqueue (object):向Queue中入隊一個對象元素。
Queue.Dequeue ():從Queue中出隊一個對象元素,並將此元素返回。


舉例:

  1.  
    private void button_測試Queue_Click(object sender, EventArgs e)
  2.  
    {
  3.  
    string[] cars = new string[]{"寶馬","奔馳","奧迪","東風","勞斯萊斯"};
  4.  
    Console.WriteLine( "開始入隊列");
  5.  
    Queue< string> que = new Queue<string>();
  6.  
    foreach (string str in cars)
  7.  
    {
  8.  
    que.Enqueue(str);
  9.  
    Console.WriteLine( "入隊列-{0}",str);
  10.  
    }
  11.  
    Console.WriteLine();
  12.  
    //打印隊列
  13.  
    PrintQueue(que);
  14.  
    Console.WriteLine();
  15.  
    Console.WriteLine( "開始出隊列");
  16.  
    while (que.Count > 0)
  17.  
    {
  18.  
    string str = que.Dequeue();
  19.  
    Console.WriteLine( "出隊列-{0}", str);
  20.  
    }
  21.  
    }
  22.  
    private void PrintQueue(Queue<string> list)
  23.  
    {
  24.  
    Console.WriteLine( "開始打印隊列");
  25.  
    foreach (string str in list)
  26.  
    {
  27.  
    Console.WriteLine(str);
  28.  
    }
  29.  
    }
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM