C#使用Queue<T>進行隊列設計
一、涉及到的知識點
1.Queue類
C#中確實提供了隊列類Queue。隊列是一種先進先出(FIFO)的數(shù)據(jù)結構,用于存儲和操作對象的有序集合。在C#中,可以使用System.Collections.Generic命名空間中的Queue<T>類來實現(xiàn)隊列。隊列在按接收順序存儲消息方面非常有用,以便于進行順序處理。Queue類將隊列作為循環(huán)數(shù)組實現(xiàn),存儲在Queue類中的對象在一端插入,從另一端移除。
// 創(chuàng)建一個新的Queue<int>實例 Queue<int> queue = new Queue<int>(); //或 // 創(chuàng)建一個新的Queue<int>實例 Queue<int> myQueue = new();
2.Queue<T>類的方法和屬性
Queue<T>類提供了許多方法和屬性,用于處理隊列中的元素。以下是一些常用的方法:
- Enqueue(T item):將元素添加到隊列的末尾。
- Dequeue():從隊列的開頭移除并返回元素。
- Peek():查看隊列開頭的元素,但不將其移除。
- Clear():移除隊列中的所有元素。
- Contains(T item):檢查隊列是否包含特定的元素。
- CopyTo(T[] array, int arrayIndex):將隊列中的元素復制到一個數(shù)組中。
- Count:獲取隊列中元素的數(shù)量。
二、使用C# Queue類的實例
這個實例演示了如何創(chuàng)建一個Queue<int>實例,向其中添加元素,查看元素,從隊列中移除元素,再次查看元素,向隊列中添加新元素,查看隊列開頭的元素,清空隊列,以及檢查隊列是否為空。
// 使用C# Queue類的實例
namespace _134_1
{
class Program
{
static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
// 創(chuàng)建一個新的Queue<int>實例
Queue<int> myQueue = new();
// 向隊列中添加一些元素
myQueue.Enqueue(1);
myQueue.Enqueue(2);
myQueue.Enqueue(3);
// 查看隊列中的元素
Console.WriteLine("隊列中的元素:");
foreach (int element in myQueue)
{
Console.Write(element + " ");
}
// 從隊列中移除并返回第一個元素
int dequeuedElement = myQueue.Dequeue();
Console.WriteLine("\n已移除的元素:{0}", dequeuedElement);
// 再次查看隊列中的元素
Console.WriteLine("\n隊列中的元素(更新后):");
foreach (int element in myQueue)
{
Console.Write(element + " ");
}
// 添加一個新元素到隊列
myQueue.Enqueue(4);
// 再次查看隊列中的元素
Console.WriteLine("\n隊列中的元素(更新后):");
foreach (int element in myQueue)
{
Console.Write(element + " ");
}
// 查看隊列開頭的元素
Console.WriteLine("\n隊列開頭的元素:{0}", myQueue.Peek());
// 清空隊列
myQueue.Clear();
// 查看隊列是否為空
Console.WriteLine("\n隊列是否為空:{0}", myQueue.Count == 0);
}
}
}
//運行結果:
/*
隊列中的元素:
1 2 3
已移除的元素:1
隊列中的元素(更新后):
2 3
隊列中的元素(更新后):
2 3 4
隊列開頭的元素:2
隊列是否為空:True
*/到此這篇關于C#使用Queue<T>進行隊列設計的文章就介紹到這了,更多相關C# Queue<T>隊列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#難點逐個擊破(3):params數(shù)組參數(shù)
注意,這里的paras全稱是array parameter,也就是數(shù)組參數(shù)。 paras類型參數(shù)主要用于在對數(shù)組長度未知(可變)的情況下進行函數(shù)聲明。2010-02-02
C#讀取QQ純真IP數(shù)據(jù)庫QQWry.Dat的代碼
QQ純真IP庫算是IP地址收集較為全的一個IP庫,對于IP查詢來說這個是不錯的選擇。下面是如何查詢純真IP庫的一個類,使用C#代碼。2007-03-03
C#調(diào)用執(zhí)行命令行窗口(CMD)的方法與技巧
在 C# 的編程世界里,我們常常會遇到需要與操作系統(tǒng)底層進行交互的場景,這時,調(diào)用命令行窗口(CMD)就成為了一個強大的工具,通過 C# 調(diào)用 CMD 都能為我們提供極大的便利,極大地拓展了 C# 應用程序的功能邊界,本文介紹了C#中調(diào)用執(zhí)行CMD的方法與技巧2025-01-01

