C#中的隊(duì)列Queue<T>與堆棧Stack<T>
一、概述:
Queue<T>隊(duì)列,對(duì)象的先進(jìn)先出集合(“FIFO”)。Stack<T>棧,對(duì)象的后進(jìn)先出集合(”LIFO”)。
Queue<T>、Stack<T>類似于List<T>,但 Queue<T>沒有IList<T>,所以不能用索引訪問隊(duì)列。也沒有實(shí)現(xiàn)ICollection<T>,無Add,Remove等方法。
二、操作
1、入隊(duì)列:Enqueue()
Queue<string> nums = new Queue<string>(); nums.Enqueue("one"); nums.Enqueue("two"); nums.Enqueue("three");
2、入棧:Push()
Stack<string> nums = new Stack<string>(); nums.Push("one"); nums.Push("two"); nums.Push("three");
3、遍歷:隊(duì)列最先返回最先進(jìn)的,棧最先返回最后進(jìn)的元素。
foreach (var num in nums)//隊(duì)列依次返回,one,two,three ;棧依次返回:three,two,one, { Console.WriteLine(num); }
4、出隊(duì)列:Dequeue()返回最先進(jìn)的元素。
Console.WriteLine(nums.Dequeue());//one
5、出棧:Pop()返回最后進(jìn)的元素。
Console.WriteLine(nums.Pop());//three
6、返回開始處的元素:Peek()
Console.WriteLine(nums.Peek());//two
7、判斷是否包含元素:Contains()
Console.WriteLine(nums.Contains("three"));
8、清空隊(duì)列、棧:Clear()
nums.Clear();
9、隊(duì)列、棧中元素個(gè)數(shù):Count
Console.WriteLine(nums.Count);//0
10、復(fù)制到數(shù)組:CopyTo()、ToArray()
- CopyTo():把元素從隊(duì)列復(fù)制到一個(gè)已有的數(shù)組中。
- ToArray():返回一個(gè)包含隊(duì)列元素的新數(shù)組。
string[] arr=new string[3]; nums.CopyTo(arr,0); arr= nums.ToArray();
三、示意圖
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)的一款比較美觀的驗(yàn)證碼完整實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的一款比較美觀的驗(yàn)證碼,以完整實(shí)例形式分析了C#生成驗(yàn)證碼與前端調(diào)用驗(yàn)證碼的實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-06-06C#操作Windows服務(wù)類System.ServiceProcess.ServiceBase
這篇文章介紹了C#操作Windows服務(wù)類System.ServiceProcess.ServiceBase,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05C#使用System.Environment獲取電腦的相關(guān)屬性
這篇文章主要為大家詳細(xì)介紹了C#使用System.Environment獲取電腦的相關(guān)屬性,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10結(jié)合.net框架在C#派生類中觸發(fā)基類事件及實(shí)現(xiàn)接口事件
這篇文章主要介紹了結(jié)合.net框架在C#派生類中觸發(fā)基類事件及實(shí)現(xiàn)接口事件,示例的事件編程中包括接口和類的繼承等面向?qū)ο蟮幕A(chǔ)知識(shí),需要的朋友可以參考下2016-02-02SQL Server存儲(chǔ)過程在C#中調(diào)用的簡單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于SQL Server存儲(chǔ)過程在C#中調(diào)用的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SQL Server存儲(chǔ)過程具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05