STL中向量vector筆記
vector的本質是:數組的封裝
特點:讀取能在常數時間內完成
Vector成員函數
函數 |
表述 |
c.assign(beg,end) c.assign(n,elem) |
將[beg; end)區間中的數據賦值給c。 將n個elem的拷貝賦值給c。 |
c.at(idx) |
傳回索引idx所指的數據,如果idx越界,拋出out_of_range。 |
c.back() |
傳回最後一個數據,不檢查這個數據是否存在。 |
c.begin() |
傳回叠代器重的可一個數據。 |
c.capacity() |
返回容器中數據個數。 |
c.clear() |
移除容器中所有數據。 |
c.empty() |
判斷容器是否為空。 |
c.end() |
指向叠代器中的最後一個數據地址。 |
c.erase(pos) c.erase(beg,end) |
刪除pos位置的數據,傳回下一個數據的位置。 刪除[beg,end)區間的數據,傳回下一個數據的位置。 |
c.front() |
傳回第一個數據。 |
get_allocator |
使用構造函數返回一個拷貝。 |
c.insert(pos,elem) c.insert(pos,n,elem) c.insert(pos,beg,end) |
在pos位置插入一個elem拷貝,傳回新數據位置。 在pos位置插入n個elem數據。無返回值。 在pos位置插入在[beg,end)區間的數據。無返回值。 |
c.max_size() |
返回容器中最大數據的數量。 |
c.pop_back() |
刪除最後一個數據。 |
c.push_back(elem) |
在尾部加入一個數據。 |
c.rbegin() |
傳回一個逆向隊列的第一個數據。 |
c.rend() |
傳回一個逆向隊列的最後一個數據的下一個位置。 |
c.resize(num) |
重新指定隊列的長度。 |
c.reserve() |
保留適當的容量。 |
c.size() |
返回容器中實際數據的個數。 |
c1.swap(c2) swap(c1,c2) |
將c1和c2元素互換。 同上操作。 |
vector<Elem> c vector <Elem> c1(c2) vector <Elem> c(n) vector <Elem> c(n, elem) vector <Elem> c(beg,end) c.~ vector <Elem>() |
創建一個空的vector。 復制一個vector。 創建一個vector,含有n個數據,數據均已缺省構造產生。 創建一個含有n個elem拷貝的vector。 創建一個以[beg;end)區間的vector。 銷毀所有數據,釋放內存。 |
STL中向量vector筆記