容器(資料類型)

本页使用了标题或全文手工转换,现处于台湾繁体模式
求聞百科,共筆求聞
於 2023年11月11日 (六) 09:40 由 待春留言 | 貢獻 所做的修訂 (// Edit via Wikiplus)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

電腦科學中,容器是指一種類、資料結構[1][2]或者抽象資料類型,其實例為其他物件。換言之,它們以一種遵循特定存取規則的方法來儲存物件。容器的大小取決於其包含的物件(或元素)的數目。潛在的不同容器類型的實現可能在空間和時間複雜度上有所差別,這使得在給定應用場景中選擇合適的某種實現具有靈活性。

概覽

容器可以三種方式看待:

  • 存取:即存取容器中物件的方式。在陣列中,存取憑藉陣列索引完成。在堆疊中,存取遵循先入後出(或後入先出)的順序[3]。在佇列中,存取遵循先入先出(或後入後出)的順序[4][5]
  • 儲存:即儲存容器中物件的方式。
  • 遍歷:即遍歷容器中物件的方式。

容器類應當實現如下的方法

  • 建立一個新的空容器(即建構函式);
  • 向容器中插入物件;
  • 從容器中刪除物件;
  • 刪除容器中的所有物件(即清空);
  • 存取容器中的物件;
  • 取得容器中物件的數目(即尺寸)。

容器有時結合迭代器實現。

分類

按儲存類型

  • 基於值的容器:儲存物件的副本。
  • 基於參照 (英語:reference)的容器:儲存指標或物件的參照。

單值或關聯容器

  • 單值容器:每個物件在容器中被獨立儲存,並且其被直接或憑藉迭代器存取。
  • 關聯容器關聯陣列、對映或者字典是由鍵值對組成的容器,因此每一個鍵在給定容器中最多出現一次。如果一個值(物件)被儲存在給定容器中,那麼鍵可以用於尋找它。

圖形容器

部件工具箱使用特殊控制項(也稱作容器)去將其他控制項分組(窗口面板等)。除它們的圖形特性之外,它們有和容器類一致的表現:它們存有它們子控制項的列表,並且允許對子控制項進行增加、刪除或取得等操作。

不同實現

參見

參考資料

  1. Paul E. Black (ed.), entry for data structure in Dictionary of Algorithms and Data Structures. US National Institute of Standards and Technology.15 December 2004. Accessed on Oct 04, 2011.
  2. Entry data structure in the Encyclopædia Britannica (2009) Online entry Accessed on Oct 04, 2011.
  3. LIFO(investopedia.com). [2016-08-19]. 
  4. FIFO(investopedia.com). [2016-08-19]. 
  5. FIFO(businessdictionary.com). [2016-08-19]. 
  6. PL/SQL Collections and Records. [2013-04-20]. 

外部連結