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