vector的常用操作
定義和初始化
vector v1;
//空vector
vector
v2(v1)
;//v2包含v1所有元素的副本
vector v2 = v1;
//同上
vector
v3(n,val)
;//n個val
vector
v4(n)
;//n個重複地執行了值初始化的物件
vector v5
;//包含了初始值個數的元素,每個元素被賦予相應的初始值
vector v6 =
;//同上
vectorint>>
matrix
(row,vector<
int>
(col,0)
);//定義並初始化二維向量
插入vector<
int> a;a.
push_back(4
);//在末尾新增4
a.insert
(a.begin()
+1,5
);//在a的第1個元素前插入數值5
a.insert
(a.begin()
+1,3
,5);
//在a的第1個元素前插入3個數,其值都為5
a.insert
(a.begin()
+1,b.begin()
, b.
end())
;//b為陣列,在a的第1個元素前插入b的全部元素,可以用於合併兩個向量
刪除b.
pop_back()
;//刪除末尾元素
b.erase
(b.begin()
);//將起始位置的元素刪除
b.erase
(b.begin()
, b.
begin()
+3);
//將(b.begin(), b.begin()+3)之間的元素刪除
擷取vector<
int>
b(a.
begin()
, a.
begin()
+3);
//將a中從a.begin()開始的3個元素賦值給b
vector<
int> b;
b.assign
(a.begin()
,a.begin()
+3);
//同上
交換a.
swap
(b);
//b為向量,將a中的元素和b中的元素進行整體**換
標頭檔案algorithm中的幾個重要函式
排序sort
sort(num.begin(),num.end(),sortfun);//如果shinint型,第三個引數可以使用less< int>()從小到大排序或者greater< int>()從大到小排序,是自定義型別話或者複雜型別就需自己定義比較規則函式sortfun。
vector<
int> num;
sort
(num.
begin()
,num.
end())
;//預設是公升序
倒置reverse
標頭檔案algorithm
reverse
(a.begin()
,a.end()
);//將a倒置
複製copy
copy
(a.begin()
,a.end()
,b.begin()
+1);
//把a中的從a.begin()(包括它)到a.end()(不包括它)的元素複製到b中,從b.begin()+1的位置(包括它)開始複製,覆蓋掉原有元素
查詢find
find
(a.begin()
,a.end()
,10);
//在a中的從a.begin()(包括它)到a.end()(不包括它)的元素中查詢10,若存在返回其在向量中的位置
返回型別是迭代器,如果沒有找到,則返回a.end()
返回元素
a.
back()
;//返回a的最後乙個元素
a.front()
;//返回a的第乙個元素
a.at
(ind)
;//返回下標為ind的元素
set
set跟vector差不多,它跟vector的唯一區別就是,set裡面的元素是有序的且唯一的,只要你往set裡新增元素,它就會自動排序,而且,如果你新增的元素set裡面本來就存在,那麼這次新增操作就不執行。要想用set先加個頭檔案set。
C 中Vector常用基本操作
標準庫vector型別是c 中使用較多的一種類模板,vector型別相當於一種動態的容器,在vector中主要有一些基本的操作,下面通過本文給大家介紹,具體內容如下所示 1 標頭檔案 include.2 建立vector物件,vector程式設計客棧 vec 3 尾部插入數字 vec.push ba...
C 中vector的基本操作
建立乙個空的 vector vectorv 新增元素 注意 push back 和pop back只能在尾部新增和刪除,不能操作頭部 v.push back 3.1415926 v.push back string adiabatic 刪除元素 pop back v.pop back 3.14159...
C 中vector的基本操作
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...