程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#集合類Queue

C#集合類Queue

編輯:C#入門知識

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

 

1.元素采用先入先出機制(FIFO,First In First Out),即先進入隊列的元素必須先離
開隊列。最先進入的元素稱為隊頭元素。
· 元素只能被添加到隊尾(稱為入隊),不允許在中間的某個位置插入。也就是說,
不支持ArrayList中的Insert方法

 

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

 

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

 

注意:

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

舉例:

        private void button_測試Queue_Click(object sender, EventArgs e)
        {
            string[] cars = new string[] { "寶馬", "奔馳", "奧迪", "東風", "勞斯萊斯" };
            Console.WriteLine("開始入隊列");
            Queue<string> que = new Queue<string>();
            foreach (string str in cars)
            {
                que.Enqueue(str);
                Console.WriteLine("入隊列-{0}",str);
            }
            Console.WriteLine();

            //打印隊列
            PrintQueue(que);

            Console.WriteLine();
            Console.WriteLine("開始出隊列");
            while (que.Count > 0)
            {
                string str = que.Dequeue();
                Console.WriteLine("出隊列-{0}", str);
            }
        }

        private void PrintQueue(Queue<string> list)
        {
            Console.WriteLine("開始打印隊列");
            foreach (string str in list)
            {
                Console.WriteLine(str);
            }
        }

      ----------運行結果----------------

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved