vector是stl標準模板庫中的乙個容器,可以容納不同的資料型別,並且資料可以自動向前增長,因此稱之為向量,vector是乙個序列式容器,裡面的底層實現是乙個順序表結構
1.資料自動初始化為0
2.可以動態增長長度(相比與陣列強大太多,可以用vector取代陣列)
3.支援隨機訪問資料
4.對記憶體邊界進行檢查
5.自動進行記憶體的申請和釋放(vector底層實現,不用人為操作)
1.需要呼叫標頭檔案:#include
2.需要開啟命名空間std:using namespace std;
3.初始化的四種方式
4.vector對資料的操作
5.vector的迭代器
6.vector相容c語言
6.使用#中的sort函式對vector的資料元素排序
//vector《資料型別》變數名;
#include
#include
#include
using namespce std;
intmain()
;//用範圍for迴圈遍歷vector
for(
auto e:vec4)
cout/vector對資料的操作
int a=10;
vec4.
push_back
(a);
//尾插資料
vdc4.
pop_back()
;//尾刪資料
vec4.
size()
;//獲取vector的長度(儲存元素個數)
int n=20;
/*vector 內部資料可以進行自動增長,不會像c語言一樣永遠是固定的,
可以隨時改變它的長度和大小*/
vec4.
resize
(n);
//改變vector容器的大小(引數:int)
//vector中的迭代器
vector<
int>
::iterator iter=vec4.
begin()
;//初始化儲存首位址
*iter=10;
//賦值改變資料
cout</輸出
//迭代器遍歷
for(
auto it = v.
begin()
; it != v.
end(
); it++
) cout <<
"\n"
;/* vector的特性非常強大了,但是,我們很多情況要使用c語言的陣列,
可能舊的函式和介面 需要呼叫c語言的
陣列函式
data() 函式,返回c語言的指標*/
//通過data函式返回c語言指標
int*p=vec4.
data()
;//通過首位址和尾位址,進行拷貝原來的陣列
int arr[10]
=;vector<
int>
vec4
(arr,arr+10)
;//通過迭代器讓vector與vector之間進行賦值
vector<
int>vec5=
; vector<
int>
vec6
(vec5.
begin()
,vec.
end())
;//正向賦值
//使用反向迭代器逆序賦值
//vectorvec6(vec5.rbegin(),vec5.rend());
//使用演算法庫的sort函式對vector進行排序
sort
(vec5.
begin()
,vec5.
end())
;//從小到大
for(
auto e:vec5)
cout
(vec5.
rbegin()
,vec5.
rend()
);//從大到小
for(
auto e:vec5)
cout
("pause");
return0;
}
C STL標準模板庫之容器vector
vector是stl標準模板庫中的重要容器之一,可以通過設定來存放各種不同型別的資料,在stl中vector的實現方式是類模板,這些模板的引數允許我們指定容器中元素的資料型別,在結構上更加靈活,並且能夠避免重複編碼。在工程中建立乙個vector物件,在vector上右鍵轉到定義,可以找到vector...
C STL 標準模板庫
1.泛型程式設計 在c 中,模板是泛型程式設計的基礎。下面有乙個stl初體驗的 include include include include include include using namespace std 自定義函式物件 template class square int test int...
C STL標準模板庫
stl共有6中元件 容器 容器介面卡 迭代器 演算法 函式物件 仿函式 和函式介面卡。最常用的是順序容器,順序容器內的元素按其位置進行儲存和訪問。除順序容器外,標準庫還定義了幾種關聯容器。這裡我們主要講一下順序容器。標準庫定義了三種順序容器型別 vector list和deque,它們的差別在於訪問...