C#集合本質(zhì)之堆棧的用法詳解
在"了解集合本質(zhì)必須要知曉的概念-鏈表"中,我們了解了鏈表的概念和種類,并且模擬了一個單向鏈表。本篇體驗的堆棧是約束版的鏈表,只能在棧頂接收新節(jié)點和釋放節(jié)點。
堆棧的主要操作是壓棧和出棧。壓棧是將新節(jié)點放在棧頂,出棧是從棧頂取出一個節(jié)點,返回新彈出節(jié)點的數(shù)據(jù)項。堆棧也稱為后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。
接著上一篇,寫一個派生于List的類來模擬堆棧的壓棧和出棧。
namespace LinkedListLibrary { public class StackInheritance : List { public StackInheritance() : base("stack"){} public void Push(object dataValue) { InsertAtFront(dataValue); } public object Pop() { return RemoveFromFront(); } } }
客戶端調(diào)用。
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(); }
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Unity報錯InvalidOperationException: out of sync的解決
今天在做個東西,發(fā)現(xiàn)報錯,特此來記錄一下,本文介紹了Unity報錯InvalidOperationException: out of sync的解決,感興趣的可以了解一下2021-05-05C# 編碼好習(xí)慣,獻(xiàn)給所有熱愛c#的同志
c#編寫者,需要培養(yǎng)的一些好習(xí)慣2009-02-02