vector(向量): c++中的一種資料結構,確切的說是乙個類.它相當於乙個動態的陣列,當程式設計師無法知道自己需要的陣列的規模多大時,用其來解決問題可以達到最大節約空間的目的.
一.用法:
1.檔案包含:
首先在程式開頭處加上#include以包含所需要的類檔案vector
還有一定要加上using namespace std;
二.變數宣告
2.1 例:宣告乙個int向量以替代一維的陣列:vector a;(等於宣告了乙個int陣列a,大小沒有指定,可以動態的向裡面新增刪除)。
2.2 例:用vector代替二維陣列.其實只要宣告乙個一維陣列向量即可,而乙個陣列的名字其實代表的是它的首位址,所以只要宣告乙個位址的向量即可,即:vector a.同理想用向量代替三維陣列也是一樣,vector a;再往上面依此類推.
vectorvec; //宣告乙個int型向量
vectorvec(5); //宣告乙個初始大小為5的int向量
vectorvec(10, 1); //宣告乙個初始大小為10且值都是1的向量
vectorvec(tmp); //宣告並用tmp向量初始化vec向量
vectortmp(vec.begin(), vec.begin() + 3); //用向量vec的第0個到第2個值初始化tmp
int arr[5] = ;
vectorvec(arr, arr + 5); //將arr陣列的元素用於初始化vec向量
//這個主要是為了和vec.end()指標統一。
vectorvec(&arr[1], &arr[4]); //將arr[1]~arr[4]範圍內的元素作為vec的初始值
三.基本操作
(1). 容量
(2). 修改
(3)迭代器
(4)元素的訪問
四.演算法
vector::iterator it;
for (it = vec.begin(); it != vec.end(); it++)
cout << *it << endl;
//或者
for (size_t i = 0; i < vec.size(); i++)
#include reverse(vec.begin(), vec.end());
#include sort(vec.begin(), vec.end()); //採用的是從小到大的排序
//如果想從大到小排序,可以採用上面反轉函式,也可以採用下面方法:
bool comp(const int& a, const int& b)
sort(vec.begin(), vec.end(), comp);
vectorpile[maxn];//解決木塊問題
**:木塊問題
C 中vector容器的用法
1 標頭檔案 include.2 建立vector物件,vector vec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec.begin it vec.end it cout it 6 插入元素 vec.i...
C 中vector容器的用法
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vector vec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout 5 使用迭代器訪問元素.vector iterator ...
C 中vector容器用法
目錄 vector容器說明 1 vector容器的初始化 vectora t是容器內元素的變數型別,可以是任何合法資料型別,a是變數名稱 2 vector向量容器常用方法 3 迭代器遍歷 容器型別 變數型別 iterator 迭代器名 4 vector容器中的一些重要演算法 5 vector常用方法...