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();
}
以上就是這篇文章的全部?jī)?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-05
C#實(shí)現(xiàn)對(duì)AES加密和解密的方法
C#實(shí)現(xiàn)對(duì)AES加密和解密的方法,需要的朋友可以參考一下2013-04-04
C# 編碼好習(xí)慣,獻(xiàn)給所有熱愛c#的同志
c#編寫者,需要培養(yǎng)的一些好習(xí)慣2009-02-02

