vector 可以理解為一種動態(tài)數(shù)組,可以很方便的存儲和都讀寫數(shù)據(jù)。
首先在程序開頭處加上#include<vector>以包含所需要的類文件vector
還有一定要加上using namespace std;
使用函數(shù)
1.push_back 在數(shù)組的最后添加一個數(shù)據(jù)
2.pop_back 去掉數(shù)組的最后一個數(shù)據(jù)
3.at 得到編號位置的數(shù)據(jù)
4.begin 得到數(shù)組頭的指針
5.end 得到數(shù)組的最后一個單元+1的指針
6.front 得到數(shù)組頭的引用
7.back 得到數(shù)組的最后一個單元的引用
8.max_size 得到vector最大可以是多大
9.capacity 當(dāng)前vector分配的大小
10.size 當(dāng)前使用數(shù)據(jù)的大小
11.resize 改變當(dāng)前使用數(shù)據(jù)的大小,如果它比當(dāng)前使用的大,者填充默認(rèn)值
12.reserve 改變當(dāng)前vecotr所分配空間的大小
13.erase 刪除指針指向的數(shù)據(jù)項
14.clear 清空當(dāng)前的vector
15.rbegin 將vector反轉(zhuǎn)后的開始指針返回(其實就是原來的end-1)
16.rend 將vector反轉(zhuǎn)構(gòu)的結(jié)束指針返回(其實就是原來的begin-1)
17.empty 判斷vector是否為空
18.swap 與另一個vector交換數(shù)據(jù)
code:
#include <stdio.h>#include <vector>#include <Windows.h>using namespace std;int main(){ vector <int> vectorList; vectorList.push_back(63); vectorList.push_back(55); PRintf("%d/n",*vectorList.begin()); printf("%d/n", vectorList.max_size()); printf("%d/n", vectorList.capacity()); printf("%d/n", vectorList[1]); system("pause"); return 0;}變量的初始化方法vector<int> a ; //聲明一個int型向量a
vector<int> a(10) ; //聲明一個初始大小為10的向量
vector<int> a(10, 1) ; //聲明一個初始大小為10且初始值都為1的向量
vector<int> b(a) ; //聲明并用向量a初始化向量b
vector<int> b(a.begin(), a.begin()+3) ; //將a向量中從第0個到第2個(共3個)作為向量b的初始值
使用數(shù)組初始化
int n[] = {1, 2, 3, 4, 5} ;
vector<int> a(n, n+5) ; //將數(shù)組n的前5個元素作為向量a的初值
vector<int> a(&n[1], &n[4]) ; //將n[1] - n[4]范圍內(nèi)的元素作為向量a的初值
1>. a.size() //獲取向量中的元素個數(shù) 2>. a.empty() //判斷向量是否為空 3>. a.clear() //清空向量中的元素 4>. 復(fù)制 a = b ; //將b向量復(fù)制到a向量中 5>. 比較 保持 ==、!=、>、>=、<、<= 的慣有含義 ; 如: a == b ; //a向量與b向量比較, 相等則返回1 6>. 插入 - insert ①、 a.insert(a.begin(), 1000); //將1000插入到向量a的起始位置前 ②、 a.insert(a.begin(), 3, 1000) ; //將1000分別插入到向量元素位置的0-2處(共3個元素) ③、 vector<int> a(5, 1) ; vector<int> b(10) ; b.insert(b.begin(), a.begin(), a.end()) ; //將a.begin(), a.end()之間的全部元素插入到b.begin()前 7>. 刪除 - erase ①、 b.erase(b.begin()) ; //將起始位置的元素刪除 ②、 b.erase(b.begin(), b.begin()+3) ; //將(b.begin(), b.begin()+3)之間的元素刪除 8>. 交換 - swap b.swap(a) ; //a向量與b向量進(jìn)行交換復(fù)制代碼
新聞熱點
疑難解答
圖片精選