vector<
int>a
; vector<
int>v(
10);//建立乙個具有10個元素的向量
vector<
int>v(
10,1)
;//10個元素初始值為1
vector<
int>
v(a)
;//拷貝a向量
vector<
int>
v(a.
begin()
, a.
begin()
+3);
//拷貝a向量的前三個數
a.resize(10
,2);
//將a向量的容量定為10,值為2
a.reserve
(100
)//將a向量的容量擴大到100
//下標統一從0開始算
vector<
int>v;
int a[10]
; v.
back()
;//獲取最後乙個元素
v.front()
;//獲取第乙個元素
v.push_back(1
);//從後面插入乙個元素
v.pop_back()
;//刪除最後乙個元素
v.erase
(v.begin()
+1);
//刪除第二個元素
v.erase
(v.begin()
+1, v.
begin()
+3);
//刪除第2個元素到第4個元素,注意左閉右開,第4個元素不刪除
v.insert
(v.begin()
+1,1
);//第二元素前面插入1
v.insert
(v.begin()
+1,3
,1);
//第二個元素前面插入3個1
v.insert
(v.begin()
+1, a +
3, a +5)
//第二個元素前插入a陣列的第四個元素到第五個元素
v.size()
;//返回元素數量,需要注意這裡返回的資料型別是無符號型,如果出現負數會出問題,一般轉為int
v.empty()
;//判斷是否為空
v.clear()
;//清空
sort
(v.begin()
, v.
end())
;sort
(v.begin()
, v.
end(
), greater<
int>()
);//從大到小排序
is_sorted
(v.begin()
, v.
end())
;//bool型判斷是否為公升序
reverse
(v.begin()
, v.
end())
;find
(v.begin()
, v.
end(),
10);//v陣列中查詢10,返回下標
STL vector的erase操作問題
一老大說 csdn 上有篇博文 關於stl vector 的erase 黑奇怪,抱著獵奇的心態,偶也去湊哈熱鬧,發現了一點問題,報告給大家。作者說下面的 是錯誤的 vectorshort m uintvector m uintvector.push back 10 m uintvector.push...
STL vector的實用操作(詳解舉例)。
vector簡而言之就是功能強大的陣列。陣列長度確定後,便不可改變,而vector確定後任然可以改變,並且vector還具有一些陣列不可使用的操作,接下來我就一一介紹。vector效率並沒有陣列高,所以如果知道陣列的長度,盡量別用vector 一般vector會與迭代器一同使用,所以下面我將用迭代器...
STL vector 輔助函式
template inline bool operator const vector tp,alloc x,const vector tp,alloc y 判斷相等 template inline bool operator const vector tp,alloc x,const vector ...