1.1 介紹:vector 是c++中stl庫里的乙個容器,實質就是乙個長度未定的陣列,而且他還有一些常用操作「封裝」在了vector型別內部。
1.2 舉例說明:vector是乙個模板類,所以需要用vector< int > a或者vector< double > b來宣告乙個vector,並且要引用#include< vector >標頭檔案。
vector< int > a是宣告了乙個長度可變的int型陣列a,類似於int a[ ]的整數陣列,同理vector< string > a類似於string a[ ]的字串陣列。
2.1 標頭檔案:#include< vector >
2.2 宣告陣列:
#include
#include
using
namespace std;
intmain()
2.3 vector中封裝的便捷操作:假如a是乙個vector,可以用a.size()讀取他的大小;a.resize()改變大小;a.p ush_back()向尾部新增元素;a.pop_back()刪除最後乙個元素;a.empty()判斷a是否為空;a.clear()移除容器中所有資料。其中的引數如下具體說明:
a.
size()
//讀取a的大小
a.resize
(h+1
)//改變a的大小為h+1,即下標為0到h
a.push_back
(b)//在a的尾部新增乙個元素b
a.pop_back()
//刪除a的最後乙個元素
a.empty()
//判斷a是否為空,若為空返回1,若不空返回0
a.erase
(h)//刪除h位置的資料,傳回下乙個資料的位置
a.erase
(n,m)
//刪除[n,m)區間的資料,傳回下乙個資料的位置
a.clear()
//移除容器中所有資料,無引數
2.4 vector的遍歷:
1、下標遍歷
for(
int i =
0;i < a.
size()
;i++
)2、auto關鍵字遍歷
for(
auto i:a)
3、迭代器遍歷
for(vector<
int>
::iterator iter = a.
begin()
;iter != a.
end(
);iter++
)
C STL Vector簡單講解
線性容器,內儲存資料的型別相同 優點 快速訪問資料 動態擴充套件容量 資料連續儲存,空間利用率高 缺點 資料插入時間代價高 動態增加容量時,時間代價較高 適用 需要大量隨機訪問,不需要經常插入刪除的情況 include stdafx.h include include using namespace...
C STL vector容器和大小操作
功能描述 對vector容器和大小操作 函式原型 empty 判斷容器是否為空 capacity 容器的容量 size 返回容器指定長度為num,若容器變長,則以預設值填充新位置。如果容器變短,則末尾超出容器長度的元素被刪除 resize int num,elem 重新指定容器的長度為num,若容器...
時間快取容器TimeCacheMap的實現
storm中實現了乙個容器,它裡面的元素存一定時間,超過該時間的元素便可能被刪除,以保證容器可以加入更多新容器。實現思想 初始化n個容器,n個容器組成鍊錶,元素的最短儲存時間為t,每次將新元素插入到鍊錶頭部的容器內,每隔t n 1 時間,將鍊錶尾部的容器刪除,同時在鍊錶頭部插入新容器,每次刪除在n個...