這篇文章主要為大家展示了“C++中vector向量容器怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C++中vector向量容器怎么用”這篇文章吧。
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為淮上等服務(wù)建站,淮上等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為淮上企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、簡介
Vectors 包含著一系列連續(xù)存儲的元素,其行為和數(shù)組類似。
訪問Vector中的任意元素或從末尾添加元素都可以在O(1)內(nèi)完成,而查找特定值的元素所處的位置或是在Vector中插入元素則是O(N)。

二、完整程序代碼
/*請務(wù)必運行以下程序后對照閱讀*/
#include <vector>
#include <iostream>
#include <algorithm>
#include <stdexcept>
using namespace std;
void print(int num)
{
cout << num << " ";
}
int main()
{
//1. 初始化
vector<int> v;
vector<int>::iterator iv;
v.reserve(100);//設(shè)置vector最小的元素容納數(shù)量
v.assign(10, 2);//將10個值為2的元素賦到vector中
cout << v.capacity() << endl; //返回vector所能容納的元素數(shù)量(在不重新分配內(nèi)存的情況下)
cout << v.size() << endl; //返回Vector實際含有的元素數(shù)量
cout << endl;
//2. 添加
//注意:push_front()只適用于list和deque容器類型
for (int i = 0; i < 10; i++)
v.push_back(i);
for_each(v.begin(), v.end(), print);//需要#include <algorithm>
cout << endl;
cout << v.size() << endl;
cout << endl;
//3. 插入及遍歷、逆遍歷
v.insert(v.begin() + 3, 99);
v.insert(v.end() - 3, 99);
for_each(v.begin(), v.end(), print);
cout << endl;
for_each(v.rbegin(), v.rend(), print);//在逆序迭代器上做++運算將指向容器中的前一個元素
cout << endl;
//一般遍歷寫法
for(iv = v.begin(); iv != v.end(); ++iv)
cout << *iv << " ";
cout << endl;
cout << endl;
//4. 刪除
v.erase(v.begin() + 3);
for_each(v.begin(), v.end(), print);
cout << endl;
v.insert(v.begin() + 3, 99);//還原
v.erase(v.begin(), v.begin() + 3); //注意刪除了3個元素而不是4個
for_each(v.begin(), v.end(), print);
cout << endl;
//注意:pop_front()只適用于list和deque容器類型
v.pop_back();
for_each(v.begin(), v.end(), print);
cout << endl;
cout << endl;
//5. 查詢
cout << v.front() << endl;
cout << v.back() << endl;
//危險的做法,但一般我們就像訪問數(shù)組那樣操作就行
for (int i = 15; i < 25; i++)
cout << "Element " << i << " is " << v[i] << endl;
//安全的做法
int i;
try
{
for (i = 15; i < 25; i++)
cout << "Element " << i << " is " << v.at(i) << endl;
}
catch (out_of_range err)//#include <stdexcept>
{
cout << "out_of_range at " << i << endl;
}
cout << endl;
//6. 清空
v.clear();
cout << v.size() << endl;//0
for_each(v.begin(), v.end(), print); //已經(jīng)clear,v.begin()==v.end(),不會有任何結(jié)果。
return 0;
}以上是“C++中vector向量容器怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:C++中vector向量容器怎么用
本文URL:http://www.chinadenli.net/article42/gspshc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、商城網(wǎng)站、微信公眾號、網(wǎng)站建設(shè)、小程序開發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)