這篇文章主要為大家展示了“C#中棧和隊列的用法示例”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“C#中棧和隊列的用法示例”這篇文章吧。
堆棧(Stack)
代表了一個后進先出的對象集合。當您需要對各項進行后進先出的訪問時,則使用堆棧。當您在列表中添加一項,稱為推入元素,當您從列表中移除一項時,稱為彈出元素。
常用方法:
1 public virtual void Clear();
從 Stack 中移除所有的元素。
2 public virtual bool Contains( object obj );
判斷某個元素是否在 Stack 中。
3 public virtual object Peek();
返回在 Stack 的頂部的對象,但不移除它。
4 public virtual object Pop();
移除并返回在 Stack 的頂部的對象。
5 public virtual void Push( object obj );
向 Stack 的頂部添加一個對象。
6 public virtual object[] ToArray();
復制 Stack 到一個新的數組中。
========================================================
隊列(Queue)
代表了一個先進先出的對象集合。當您需要對各項進行先進先出的訪問時,則使用隊列。當您在列表中添加一項,稱為入隊,當您從列表中移除一項時,稱為出隊。
常用方法:
1 public virtual void Clear();
從 Queue 中移除所有的元素。
2 public virtual bool Contains( object obj );
判斷某個元素是否在 Queue 中。
3 public virtual object Dequeue();
移除并返回在 Queue 的開頭的對象。
4 public virtual void Enqueue( object obj );
向 Queue 的末尾添加一個對象。
5 public virtual object[] ToArray();
復制 Queue 到一個新的數組中。
6 public virtual void TrimToSize();
設置容量為 Queue 中元素的實際個數。
=========================================================
簡單實例:
編程判斷一個字符串是否是回文。回文是指一個字符序列以中間字符為基準兩邊字符完全相同,如字符序列“ACBDEDBCA”是回文。
算法思想:
判斷一個字符序列是否是回文,就是把第一個字符與最后一個字符相比較,第二個字符與倒數第二個字符比較,依次類推,第 i 個字符與第 n-i個字符比較。如果每次比較都相等,則為回文,如果某次比較不相等,就不是回文。因此,可以把字符序列分別入隊列和棧,然后逐個出隊列和出棧并比較出隊列的字符和出棧的字符是否相等,若全部相等則該字符序列就是回文,否則就不是回文。
using System; using System.Collections.Generic; namespace 棧和隊列舉例 { class Program { static void Main(string[] args) { string str = Console.ReadLine(); Stackstack = new Stack (); Queue queue = new Queue (); for (int i = 0; i < str.Length; i++) { stack.Push(str[i]); queue.Enqueue(str[i]); } bool isHui = true; while(stack.Count > 0) { if(stack.Pop() != queue.Dequeue()) { isHui = false; break; } } Console.WriteLine("是否回文字符串:" + isHui); Console.ReadKey(); } } }
以上是“C#中棧和隊列的用法示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯成都網站設計公司行業資訊頻道!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。