C#集合本質之堆棧的用法詳解
在"瞭解集合本質必須要知曉的概念-鏈表"中,我們瞭解瞭鏈表的概念和種類,並且模擬瞭一個單向鏈表。本篇體驗的堆棧是約束版的鏈表,隻能在棧頂接收新節點和釋放節點。
堆棧的主要操作是壓棧和出棧。壓棧是將新節點放在棧頂,出棧是從棧頂取出一個節點,返回新彈出節點的數據項。堆棧也稱為後進先出的數據結構。
接著上一篇,寫一個派生於List的類來模擬堆棧的壓棧和出棧。
namespace LinkedListLibrary { public class StackInheritance : List { public StackInheritance() : base("stack"){} public void Push(object dataValue) { InsertAtFront(dataValue); } public object Pop() { return RemoveFromFront(); } } }
客戶端調用。
public static void Main(string[] args) { StackInheritance stack = new StackInheritance(); bool aBoolean = true; char aChar = 'a'; int anInt = 12; string aStr = "hello"; stack.Push(aBoolean); stack.Display(); stack.Push(aChar); stack.Display(); stack.Push(anInt); stack.Display(); stack.Push(aStr); stack.Display(); try { while (true) { object removedObject = stack.Pop(); Console.WriteLine(removedObject + "被彈出~~"); stack.Display(); } } catch (EmptyListException emptyListException) { Console.Error.WriteLine(emptyListException.StackTrace); } Console.ReadKey(); }
以上就是這篇文章的全部內容瞭,希望本文的內容對大傢的學習或者工作具有一定的參考學習價值,謝謝大傢對WalkonNet的支持。如果你想瞭解更多相關內容請查看下面相關鏈接
推薦閱讀:
- C# 語言入門基礎介紹
- C#中32位浮點數Float(Real)一步步按位Bit進行分析
- C#實現簡單訂單管理程序
- C++實現LeetCode(155.最小棧)
- C#多線程系列之多線程鎖lock和Monitor