資料結構(C#):堆棧

來源:互聯網
上載者:User

堆棧是一種後進先出的資料結構,在某些程式設計中經常用到。堆棧只能取得棧頂元素、壓棧、出棧 、取得棧內元素數量及判斷是否為空白等操作。

堆棧可以用順序表、鏈表實現,有了前面順序表及鏈表,堆棧實現非常簡單,這裡用單鏈表實現。

1.實現代碼

/*
* File   :  Stack.cs
* Author  :  Zhenxing Zhou
* Date   :  2008-12-07
* Blog   :  http://www.xianfen.net/
*/
namespace Xianfen.Net.DataStructure
{
   public class Stack<T>
   {
     protected SingleLinkedList<T> m_List;

     public int Count
     {
       get { return m_List.Count; }
     }

     public bool IsEmpty
     {
       get { return m_List.IsEmpty; }
     }

     public Stack()
     {
       m_List = new SingleLinkedList<T>();
     }

     public Stack(T t)
     {
       m_List = new SingleLinkedList<T>(t);
     }

     public T Pop()
     {
       T t = m_List.GetTail();
       m_List.RemoveTail();

       return t;
     }

     public T Top()
     {
       return m_List.GetTail();
     }

     public void Push(T t)
     {
       m_List.AddTail(t);
     }
   }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.