初學者學習C STL之vector容器

2021-06-08 20:39:39 字數 2308 閱讀 8752

一、建立vector物件

1、vectorival; 建立乙個空的整形的容器物件ival。

2、vectorival(n);建立乙個具有n個元素的整形vector物件。

3、vectorival(n,value);建立乙個具有n個元素的vector物件,每個物件初始值為value。

4、vectorival1(ival2);通過拷貝乙個vector物件的各個元素值,建立乙個新的vector物件。eg:vectorv1(5,'a');vectorv2(v1);

5、vectorival(const inputeriterator first , const inputeriterator last) ;   inputeriterator為輸入迭代器,通過拷貝迭代器區間[ first,last)的元素值,建立乙個新的vector物件。

eg:int iarray = ; vectorival( iarray , iarray+5);

二、初始化賦值

vector提供push_back函式來對vector物件進行賦值和初始化。格式為 ival.push_back(const t& value)

三、元素的遍歷訪問(假設我們已定義了乙個整形vector物件ival)

1、利用陣列方式訪問

print(vector& ival))

for(int i =0;icout<2、利用迭代器方式訪問

print(vector& ival))

for(vector::iterator i =ival.begin() ; i != ival.end();i++)

cout<< *i 《備註:ival.begin()返回ival的首元素位址,ival.end()返回ival的尾元素位址+1.級訪問的有效區間是 [ ival.begin(),ival.end())

四、元素的插入

ival.insert(iterator pos,const t& x);  即在pos後面將元素x插入

ival.insert(ival.begin()+5,9)    在ival.begin()+5這個位置後面講9插入到ival中

五、元素的刪除

iterator erase(iterator pos)    刪除元素位址為pos的元素。

iterator erase(iterator first , iterator  last)    刪除元素位址區間為[ first , last]的所有元素。

void   clear()   清除所有vector元素。

六、元素的反向遍歷

反向迭代器 reverse_iterator

reverse_iterator rbegin()    

reverse_iterator rend()

通過rbegin()和rend()可以對vector容器的元素。

print(vector& ival))

for(vector::reverse_iterator i =ival.rbegin() ; i != ival.rend();i++)

cout<< *i 《七、vector的交換   vectorival1,ival2 ;

交換函式   void  swap(vector&)

將ival1,ival2交換的具體呼叫方式有兩種

1、ival1.swap(ival2);

2、swap(ival1 , ival2)

八、其他常用函式

1、bool empty()   判斷vector容器是否為空,具體呼叫為ival.empty()  。

2、size_type size()   當前vector容器的十幾元素個數,具體呼叫為ival.size()  。

3、size_type max_size()    系統所允許的vector容器最大元素個數,具體呼叫為ival.max_size()  。

4、size_type capacity()     當前容器可容納的元素個數,具體呼叫為ival.capacity()  。

5、reference back() ;     返回vector容器的末元素(引用),要求vector不為空,具體呼叫為ival.back()  。

6、reference front() ;     返回vector容器的首元素(引用),要求vector不為空,具體呼叫為ival.front()  。

7、void  pop_back() ;   和push_back()相反的函式,pop_back用於刪除末尾乙個容器的元素,具體呼叫為ival.pop_back() ;

今天第一次自己寫部落格,感覺挺好的,其他容器後面會慢慢的推出哈。

歡迎廣大c++愛好者(特別是stl方面的)光臨陋室進行點撥拍磚。哈哈

初學者談初學者學html

這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...

初學者mysql MySQL初學者使用指南

有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...

初學者學習SAP步驟

第一步,先全面了解一下sap的overview 第二步,選擇乙個自己感興趣而且很在行的方向 如物料管理 生產企業 銷售與分銷 人力資源 財務會計等 深入了解一下sap在這個方面的模組及解決方案。第三步,同時加強自己在對應領域的企業管理 業務邏輯 行業背景方面的學習。第四步,爭取能有機會和sap的顧問...