1. 程式人生 > >深入學習c++--容器

深入學習c++--容器

學習 img png nor stack eight 數組 strong 操作

1. 簡介

1. 序列式容器: array, vector, deque, list, forward_list --- 數組 或者 指針實現
2. 關聯容器: set, map, multiset, multimap --- 二叉樹 紅黑樹 O(logn)
3. 無順序容器: unordered_map, unordered_set, unordered_multimap, unordered_multiset

補充拓展:
4. stack
5. queue
6. priority_queue
7. string
8. bitset: (0或1)

2. 元素要求

1. 元素必須 可以被賦值操作來復制或者搬移

(因為容器和算法對復寫的要求)

2. 元素必須可以被銷毀

3. 對於序列容器,元素 必須有默認的構造函數

4. 對於某些操作, 元素需要定義 ==

5. 對於關聯容器,排序準則默認的是: <, std:less

6. 無順序容器,必須要提供一個 hash函數, 需要 ==

7. stl容器裏面 存的是元素的值,而不是引用

8. 容器裏面應該存放:

  • 基本元素
  • class : 滿足上述

9. stl的設計原則是效率優先,安全為次

3. 容器的通用接口

技術分享圖片

技術分享圖片

4. 基本使用

4.1 array

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

深入學習c++--容器