首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

資料結構 (C#):佇列以單向鏈結串列實作

     編輯:關於C語言

佇列定義

先進先出 (FIFO),如同排隊。操作:入隊、出隊、取得隊頭/隊尾、長度、是否為空。

不宜用順序表實作(插入/刪除會導致大量元素移動),以單向鏈結串列實作較佳。

實作程式碼

namespace Xianfen.Net.DataStructure {
    public class Queue<T> {
        protected SingleLinkedList<T> m_List;
        public bool IsEmpty { get { return m_List.IsEmpty; } }
        public int Count { get { return m_List.Count; } }
        public Queue() { m_List = new SingleLinkedList<T>(); }
        public Queue(T t) { m_List = new SingleLinkedList<T>(t); }
        public T DeQueue() { T t = m_List.GetTail(); m_List.RemoveTail(); return t; }
        public void EnQueue(T t) { m_List.AddHead(t); }
        public T GetFront() { return m_List.GetTail(); }
        public T GetRear() { return m_List.GetHead(); }
    }
}

注意:EnQueue 對應 AddHead(隊頭),DeQueue 對應 GetTail/RemoveTail(隊尾),實為以單向鏈結串列反向操作模擬佇列。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved