vector容器非常類似陣列,也稱單端陣列
vector容器的迭代器支援隨機訪問
與陣列不同:
陣列是在靜態空間分配,vector可以動態擴充套件
動態擴充套件原理:
重新分配空間,將原空間資料拷貝到新空間,再釋放原空間
建立vector容器
void
get_vector
(void
)show_vector
(v);
vector<
int>
v1(v)
;//拷貝構造
show_vector
(v1)
; vector<
int>
v2(v.
begin()
, v.
end())
;show_vector
(v2)
; vector<
int>v3(
100,
520)
;//將100個520拷貝給v3容器
show_vector
(v3)
;}
void
assign_vector
(void
) vector<
int> v1 = v;
//直接賦值,過載了加號運算子
show_vector
(v1)
; vector<
int> v2;
v2.assign
(v.begin()
, v.
end())
;//利用assign方法賦值
show_vector
(v2)
; vector<
int> v3;
v3.assign(10
,250);
show_vector
(v3)
;}
void
vector_size
(void)if
(v.empty()
)else
show_vector
(v);
v.resize(10
);if(v.
empty()
)else
show_vector
(v);
v.resize(50
,10);
show_vector
(v);
}
push_back
(ele)
;//尾部插入元素ele
pop_back()
;//刪除最後乙個元素
insert
(const_iterator pos, ele)
;//迭代器指向位置pos插入元素ele
insert
(const_iterator pos,
int count,ele)
;//迭代器指向位置pos插入count個元素ele
erase
(const_iterator pos)
;//刪除迭代器指向的元素
erase
(const_iterator start, const_iterator end)
;//刪除迭代器從start到end之間的元素
clear()
;//刪除容器中所有元素
void
insert_push_pop
(void
)show_vector
(v);
v.pop_back()
;//刪除最後乙個元素
show_vector
(v);
v.insert
(v.begin()
+1,100);
//在第二元素位置插入100
show_vector
(v);
v.insert
(v.end()
,3,520);
//在最後乙個元素位置插入3個520
show_vector
(v);
v.erase
(v.end()
-3, v.
end())
;//刪除末尾的3個元素,也就是3個520
show_vector
(v);
v.clear()
;// 清空容器
show_vector
(v);
}
直接類似陣列訪問:
vector[index]
;//index訪問的哪個元素
vector<
int> v;
//無參構造
for(
int i =
0; i <
20; i++
)cout << v[0]
<< endl;
//像陣列一樣通過下標訪問v[0
]=100;
cout << v[0]
<< endl;
使用at方法訪問:
vector.at(
int idx)
;//idx訪問的哪個元素
cout << v.at(
1)<< endl;
v.at(1
)=520;
cout << v.at(
1)<< endl;
獲取第乙個元素:
vector.
front()
;
獲取最後乙個元素:
vector.
back()
;
vector1.
swap
(vector2)
;//將vector1容器內容和vector2互換
void
vector_sort
(void
)
C STL感知 string容器
在c 中經常如下定義字串 string str 而string本質是c 中的乙個類。char 是乙個指標,string類內部封裝了char string類的建構函式 string 建立控的字串 sring const char s 使用s初始化字串 string const string str 拷...
C STL 考點 容器(vector)
default 1 explicit vector const allocator type alloc allocator type fill 2 explicit vector size type n vector size type n,const value type val,const a...
C STL中的容器 Vector
c stl中的verctor好比是c語言中的陣列,但是vector又具有陣列沒有的一些高階功能。與陣列相比,vector就是乙個可以不用再初始化就必須制定大小的邊長陣列,當然了,它還有許多高階功能。要想用vector首先得包含標頭檔案vector。如果vector的元素型別是int,預設初始化為0 ...