C#隊列Queue用法實例分析
本文實例分析了C#隊列Queue用法。分享給大家供大家參考。具體分析如下:
隊列(Queue)在程序設計中扮演著重要的角色,因為它可以模擬隊列的數(shù)據(jù)操作。例如,排隊買票就是一個隊列操作,后來的人排在后面,先來的人排在前面,并且買票請求先被處理。為了模擬隊列的操作,Queue在ArrayList的基礎上加入了以下限制
1.元素采用先入先出機制(FIFO,F(xiàn)irst 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); } }
運行結(jié)果如下圖所示:
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#使用SQL DataAdapter數(shù)據(jù)適配代碼實例
今天小編就為大家分享一篇關于C#使用SQL DataAdapter數(shù)據(jù)適配代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10C#(asp.net)多線程用法示例(可用于同時處理多個任務)
這篇文章主要介紹了C#(asp.net)多線程Thread用法,可用于同時處理多個任務,以簡單數(shù)學運算為例講述了Thread類實現(xiàn)多線程的相關技巧,需要的朋友可以參考下2016-06-06