C 之vector容器操作演示

2021-08-11 07:56:18 字數 2700 閱讀 8294

最簡單的stl容器是vector容器,它在資料結構上與陣列相似,佔據著乙個連續的記憶體塊,但要比陣列要靈活,是乙個能夠動態改變自身大小的陣列。

#include

#include

#include

#include// greater

using

namespace

std;

template

void printvector(const

char *s, const

vector

& v)

typename

vector

::const_iterator i=v.begin();

for( ;i1;i++)

cout

<<*i<<' ';

cout

<<*i<<")\n";

}bool f1(int n)

int main()

; vector

v1; //v1 is empty,size=0,capacity=0

for(int j=1; j<=5; j++)

v1.push_back(j); //v1=(1 2 3 4 5),size=5,capacity=8

printvector("v1",v1);

vector

v2(3,7); //v2=(7 7 7)

printvector("v2",v2);

vector

::iterator i1=v1.begin()+1;

vector

v3(i1,i1+2); //v3=(2 3),size=2,capacity=2

printvector("v3",v3);

vector

v4(v1); //v4=(1 2 3 4 5),size=5,capacity=5

printvector("v4",v4);

vector

v5(5); //v5=(0 0 0 0 0)

printvector("v5",v5);

v5[1]=v5.at(3)=9; //v5=(0 9 0 9 0)

printvector("v5",v5);

v3.reserve(6); //v3=(2,3),size=2,capacity=6

v4.resize(7); //v4=(1 2 3 4 5 0 0),size=7,capacity=10

v4.resize(3); //v4=(1 2 3),size=3,capacity=10

v4.clear(); //v4 is empty,size=0,capacity=10(!)

v4.insert(v4.end(),v3[1]); //v4=(3)

v4.insert(v4.end(),v3.at(1)); //v4=(3 3)

v4.insert(v4.end(),2,4); //v4=(3 3 4 4)

v4.insert(v4.end(),v1.begin()+1,v1.end()-1);//v4=(3 3 4 4 2 3 4)

v4.erase(v4.end()-2); //v4=(3 3 4 4 2 4)

v4.erase(v4.begin(),v4.begin()+4); //v4=(2 4)

v4.assign(3,8); //v4=(8 8 8)

v4.assign(a,a+3); //v4=(1 2 3)

printvector("v4",v4);

vector

::reverse_iterator i3=v4.rbegin();

for( ;i3!=v4.rend();i3++)

cout

<<*i3<<' '; //print:3 2 1

cout

v5[0]=3; //v5=(3 9 0 9 0)

replace_if(v5.begin(),v5.end(),f1,7); //v5=(7 9 7 9 7)

v5[0]=3;v5[2]=v5[4]=0; //v5=(3 9 0 9 0)

replace(v5.begin(),v5.end(),0,7); //v5=(3 9 7 9 7)

sort(v5.begin(),v5.end()); //v5=(3 7 7 9 9)

sort(v5.begin(),v5.end(),greater()); //v5=(9 9 7 7 3)

v5.front()=2; //v5=(2 9 7 7 3)

printvector("v5",v5);

return

0;}

c 之vector(建立容器)

表示物件的集合,所有物件的型別都相同 集合中每個物件都有乙個對應的索引,用於訪問物件 標頭檔案 include using std vector提供資訊的方式為 在模板名字後面跟著的一對尖括號裡放上資訊 vectorv1不同型別的元素只能放入與之型別相對應的容器中,不能亂搭 初始化vector物件的...

C 容器基礎之vector

vector是線性容器,元素按照線性順序排序,容器中元素儲存在一塊連續的記憶體中,類似與陣列,不過vector可以自動增長或縮小儲存空間。和其他標準的順序容器相比 vector可以更有效的訪問容器內元素,和在末尾新增 刪除元素 而在其他位置的新增刪除元素,vector不如其他順序容器。注意 size...

c 之vector容器入門

對於c 的vector容器的函式應用 include include include using namespace std intmain cout cout 迭代器形式結果 for it vt.begin it vt.end it cout cout vt元素個數是 size函式 插入元素函式 ...