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的支持。如果你想瞭解更多相關內容請查看下面相關鏈接

推薦閱讀: