欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#隊(duì)列Queue用法實(shí)例分析

 更新時(shí)間:2015年05月16日 12:22:21   作者:永遠(yuǎn)愛(ài)好寫(xiě)程序  
這篇文章主要介紹了C#隊(duì)列Queue用法,實(shí)例分析了隊(duì)列的功能、定義及相關(guān)使用技巧,需要的朋友可以參考下

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

隊(duì)列(Queue)在程序設(shè)計(jì)中扮演著重要的角色,因?yàn)樗梢阅M隊(duì)列的數(shù)據(jù)操作。例如,排隊(duì)買(mǎi)票就是一個(gè)隊(duì)列操作,后來(lái)的人排在后面,先來(lái)的人排在前面,并且買(mǎi)票請(qǐng)求先被處理。為了模擬隊(duì)列的操作,Queue在ArrayList的基礎(chǔ)上加入了以下限制

1.元素采用先入先出機(jī)制(FIFO,F(xiàn)irst In First Out),即先進(jìn)入隊(duì)列的元素必須先離開(kāi)隊(duì)列。最先進(jìn)入的元素稱為隊(duì)頭元素。

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

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

3.不允許直接對(duì)隊(duì)列中非隊(duì)頭元素進(jìn)行訪問(wèn)。也就是說(shuō),不支持ArrayList中的索引訪問(wèn),只允許遍歷訪問(wèn)

注意:

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


舉例:

private void button_測(cè)試Queue_Click(object sender, EventArgs e)
{
 string[] cars = new string[]{"寶馬","奔馳","奧迪","東風(fēng)","勞斯萊斯"};
 Console.WriteLine("開(kāi)始入隊(duì)列");
 Queue<string> que = new Queue<string>();
 foreach (string str in cars)
 {
  que.Enqueue(str);
  Console.WriteLine("入隊(duì)列-{0}",str);
 }
 Console.WriteLine();
 //打印隊(duì)列
 PrintQueue(que);
 Console.WriteLine();
 Console.WriteLine("開(kāi)始出隊(duì)列");
 while (que.Count > 0)
 {
  string str = que.Dequeue();
  Console.WriteLine("出隊(duì)列-{0}", str);
 }
}
private void PrintQueue(Queue<string> list)
{
 Console.WriteLine("開(kāi)始打印隊(duì)列");
 foreach (string str in list)
 {
  Console.WriteLine(str);
 }
}

運(yùn)行結(jié)果如下圖所示:

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 深入理解C# abstract和virtual關(guān)鍵字

    深入理解C# abstract和virtual關(guān)鍵字

    深入理解C# abstract和virtual關(guān)鍵字,學(xué)習(xí)c#的朋友可以參考下。
    2011-06-06
  • WPF使用FontAwesome字體圖標(biāo)

    WPF使用FontAwesome字體圖標(biāo)

    這篇文章介紹了在WPF中使用FontAwesome字體圖標(biāo)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#使用SQL DataAdapter數(shù)據(jù)適配代碼實(shí)例

    C#使用SQL DataAdapter數(shù)據(jù)適配代碼實(shí)例

    今天小編就為大家分享一篇關(guān)于C#使用SQL DataAdapter數(shù)據(jù)適配代碼實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • 在WPF中使用多線程更新UI

    在WPF中使用多線程更新UI

    這篇文章介紹了在WPF中使用多線程更新UI的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Unity C#執(zhí)行bat腳本的操作

    Unity C#執(zhí)行bat腳本的操作

    這篇文章主要介紹了Unity C#執(zhí)行bat腳本的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • C#(asp.net)多線程用法示例(可用于同時(shí)處理多個(gè)任務(wù))

    C#(asp.net)多線程用法示例(可用于同時(shí)處理多個(gè)任務(wù))

    這篇文章主要介紹了C#(asp.net)多線程Thread用法,可用于同時(shí)處理多個(gè)任務(wù),以簡(jiǎn)單數(shù)學(xué)運(yùn)算為例講述了Thread類實(shí)現(xiàn)多線程的相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • C#學(xué)習(xí)筆記之飛行棋項(xiàng)目

    C#學(xué)習(xí)筆記之飛行棋項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了C#控制臺(tái)實(shí)現(xiàn)飛行棋項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#中匿名方法與委托的關(guān)系介紹

    C#中匿名方法與委托的關(guān)系介紹

    這篇文章介紹了C#中匿名方法與委托的關(guān)系,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • webBrowser代理設(shè)置c#代碼

    webBrowser代理設(shè)置c#代碼

    本文將介紹C# 為webBrowser設(shè)置代理實(shí)現(xiàn)代碼,需要了解的朋友可以參考下
    2012-11-11
  • C#實(shí)現(xiàn)Xml序列化與反序列化的方法

    C#實(shí)現(xiàn)Xml序列化與反序列化的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)Xml序列化與反序列化的方法,將序列化與反序列化的方法封裝入一個(gè)類文件中,包含了較為詳盡的注釋說(shuō)明,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12

最新評(píng)論