C++線性序列容器 簡單總結


C++線性序列容器<vector>簡單總結

vector是一個長度可變的數組,使用的時候無須聲明上限,隨着元素的增加,Vector的長度會自動增加;Vector類提供額外的方法來增加、刪除元素,比數組操作高效。

頭文件:#include <vector>

命名空間:using namespace std:vector

構造函數

vector<int>vec_int;         // 創建一個整形元素的vector

vector<string>vec_string;    // 創建一個string元素的vector

vector<Mystruct>vec_Mystruct;   // 創建一個元素是結構的vector

基本維護操作

1.訪問

下標訪問和at()兩種方式,推薦第二種方法,它會進行邊界檢查。

vec_int[1], vec_int.at(1);    // 訪問索引為1的元素,第2個元素

int size() const;                    // 返回向量中的元素個數

bool empty() const;              // 判斷向量是否為空,true為空,false為不空

reference back( );                 // 返回向量的最后一個元素的引用,可以被修改

reference front( );                // 返回向量的第一個元素的引用,可以被修改

2.添加

void push_back(const T& Val); ;  // 在vector末尾處添加一個元素。

3.刪除

void pop_back( );        // 刪除向量末尾處的元素。

void clear();                // 清除向量中的所有元素

4.插入

void insert(iterator it, int count, T& value);  // 在迭代器的位置插入指定count數量的value值,count參數可選,默認為1

5.遍歷

常用的使用迭代器遍歷,也非常方便;

iterator begin();           // 返回向量的第一個元素的迭代器

iterator end( );            // 返回向量的最后一個元素的迭代器

遍歷方法:

for (vector<int>::iterator vec_it = vec_int.begin(); vec_it != vec_int.end(); vec_it++)
{
    cout << *vec_it << endl;
}

 

成員函數

 

assign
清除矢量並將指定的元素復制到該空矢量。
at 返回對矢量中指定位置的元素的引用。
back 返回對向量中最后一個元素的引用。
begin 對該向量中第一個元素返回隨機訪問迭代器。
capacity 返回在不分配更多的存儲的情況下向量可以包含的元素數。
cbegin 返回指向向量中第一個元素的隨機訪問常量迭代器。
cend 返回一個隨機訪問常量迭代器,它指向剛超過矢量末尾的位置。
crbegin 返回一個指向反向矢量中第一個元素的常量迭代器。
crend 返回一個指向反向矢量末尾的常量迭代器。
clear 清除向量的元素。
data 返回指向向量中第一個元素的指針。
emplace 將就地構造的元素插入到指定位置的向量中。
emplace_back 將一個就地構造的元素添加到向量末尾。
empty 測試矢量容器是否為空。
end 返回指向矢量末尾的隨機訪問迭代器。
erase 從指定位置刪除向量中的一個元素或一系列元素。
front 返回對向量中第一個元素的引用。
get_allocator 將對象返回到矢量使用的 allocator 類。
insert 將一個元素或多個元素插入到指定位置的向量中。
max_size 返回向量的最大長度。
pop_back 刪除矢量末尾處的元素。
push_back 在矢量末尾處添加一個元素。
rbegin 返回指向反向向量中第一個元素的迭代器。
rend 返回一個指向反向矢量末尾的迭代器。
reserve 保留向量對象的最小存儲長度。
resize 為矢量指定新的大小。
shrink_to_fit 放棄額外容量。
size 返回vector元素個數
swap 交換兩個向量的元素。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM