STL 容器概述

2022-06-03 17:48:07 字數 899 閱讀 1146

在實際的開發過程中,資料結構本身的重要性完全不遜於演算法的重要性,當程式中存在著對時間要求很高的部分時,資料結構的選擇就顯得更加重要。

試想:如同棧一樣的一條死胡同裡停車,這樣的效率會很高嗎?

經典的資料結構數量有限,但是在專案實戰中,我們常常重複著一些為了存放不同資料結構型別而實現順序表、鍊錶等結構而重複編寫的**,這些**都十分相似,只是為了適應不同資料型別的變化而在細節上有所出入。stl容器就為我們提供了這樣的方便,它允許我們重複利用已有的實現,構造自己的特定型別下的資料結構,通過設定一些模板,stl容器對最常用的資料結構提供了支援,這些模板的引數允許我們指定容器中元素的資料型別,避免重複編碼。

容器部分主要有:組成。

下面是常用的一些容器,可以通過下表總結一下它們和相應標頭檔案的對應關係。

vector是將元素置於乙個動態陣列中加以管理的容器。

vector可以隨機訪問元素,支援索引值直接訪問,用 操作符或 at 方法對元素進行操作。

vector尾部新增或移除元素非常快捷,但是在中部或頭部插入元素或移除元素會比較費時

STL序列式容器概述

stl容器分為序列式和關聯式兩種,序列式容器,其中的元素都可序,但未必有序 heap內含乙個vector,priority queue內含乙個heap,stack和queue都內含乙個deque 1.以vector為底層實現 1.1 vectorvector詳情 vector維護的是乙個連續線性空間...

C 容器(STL容器)

容器 container 用於存放資料的類模板。可變長陣列 鍊錶 平衡二叉樹等資料結構在stl中都被實現為容器。在使用容器時,即將容器類模型例項化為容器類,會指明容器中存放的元素是什麼型別。容器可以分為兩大類 順序容器和關聯容器 順序容器有可變長動態陣列vector 雙端佇列deque 雙向鍊錶li...

STL演算法概述

除了容器類和迭代器,stl還提供了一些通用的演算法與容器類的元素工作。這些讓你做的事情,如搜尋,排序,插入,重新排序,刪除,複製元素的容器類。請注意,作為全球性的功能,操作使用迭代器演算法的實現。這意味著,每個演算法只需要實現一次,它一般會自動工作,提供了一組迭代器 包括自定義的容器類 的所有容器。...