stl中常用的資料結構:
[1] stack、queue預設的底層實現為deque結構。
[2] deque:用map管理多個size大小的連續記憶體塊,方便頭尾插入。
[3] vector:變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。
[4] priority_queue底層預設採用vector向量o(nlogn)。
[5] list:雙向鍊錶容器。
[6] slist:單向鍊錶容器。
[7] bit_vector:乙個bit位元素的序列容器,常用於硬體埠的控制。區別於vector重要特性是節省空間。
[8] set集合容器、multiset多重集合容器均採用紅黑樹實現,後者允許相同元素。
[9] map、multimap為映照容器,底層為紅黑樹。後者允許相同元素。
[10] hash_set雜湊集合容器/hash_map雜湊映照容器均採用hashtable。
[11] string基本字串行容器。
STL中常用資料結構
stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...
STL常用資料結構
vector與陣列類似,擁有一段連續的記憶體空間,並且起始位址不變。便於隨機訪問,時間複雜度為o 1 但因為記憶體空間是連續的,所以在進入插入和刪除操作時,會造成記憶體塊的拷貝,時間複雜度為o n 此外,當陣列記憶體空間不足,會採取擴容,通過重新申請一塊更大的記憶體空間進行記憶體拷貝。支援 等操作 ...
資料結構中常用演算法
排序常用的演算法有 插入演算法 直接插入演算法 折半插入演算法 希爾演算法 選擇演算法 簡單選擇演算法 堆排序演算法 快速演算法 氣泡排序 快速排序演算法 以下程式給出了各種演算法的實現,其介面為void sort int array,int len 每個檔案實現乙個演算法,最後和main.c檔案編...