讀書筆記 STL 定義序列式容器物件的五種方式

2021-07-13 11:21:53 字數 648 閱讀 5283

要使用序列式容器,首先必須有對應的標頭檔案

#include

#include

#include

定義空的容器

list< int >    mylist;

vector< int> myvec;

定義特定大小的容器,並以其預設值作為初值

list< int > mylist(1024);

vector< int > myvec(16);

定義特定大小的容器,並為每個元素指定初值

list< int >    mylist(10,-1);

vector< int> myvec(1024,3);

通過一對迭代器產生容器,且這對iterators用來標示一整組作為初值的元素區間

int fib=;

vector< int > myvec(fib, fib+5);

根據某個容器產生出心容器。複製原容器內的元素,作為新容器的的初值

list< int > mylist(10,-1);

......

list< int > mylist2(mylist);

《STL原始碼解析》讀書筆記之序列式容器(2)

1.deque deque和vector的最大差異在於deque允許在常數時間內對首端進行元素的插入和刪除操作。而且deque沒有容量的觀念,因為它是動態地以分段連續空間組合而成的,隨時可以增加一段新的空間並鏈結起來。像vector那樣因舊空間不足而重新配置一塊更大空間的情況在deque裡是不會發生...

《STL原始碼剖析》讀書筆記 (2)序列式容器

第四章 序列式容器 總體概述如下 vector 實現的底層實現物件是陣列,list 底層實現物件是雙向迴圈列表,deque 是雙端開頭的連續線性空間 實現起來比較麻煩 stack 和queue 是配接器,底層可以有 list deque queued 的預設實現是 deque 來實現。1.vecto...

讀書筆記 關聯式容器

關聯式容器每個元素都有乙個鍵值和乙個實值 set鍵值就是實值 關聯式容器沒有所謂頭尾。一般而言,關聯式容器的內部結構是乙個平衡二叉樹。二叉搜尋樹 任何節點的鍵值一定大於其左子樹中的每乙個節點的鍵值,並小於其右子樹中的每個節點的鍵值。rb tree 紅黑樹 規則 1 每個節點不是紅色就是黑色。2 根節...