国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

初探STL容器之Vector

趙春朋 / 1262人閱讀

vector

特點:

1.可變長的動態數組
2.使用時包含頭文件 #include
3.支持隨機訪問迭代器
? 根據下標隨機訪問某個元素時間為常數
? 在尾部添加速度很快
? 在中間插入慢

成員函數

初始化

[cpp] view plaincopy
01.vector();              初始化成空  
02.vector(int n);               初始化成有n個元素  
03.vector(int n, const T & val);     初始化成有n個元素, 每個元素的值都是val,類型是T  
04.vector(iterator first, iterator last);  初始化為與別的容器上區間[first, last)一致的內容  

舉例:

1.創建一個int類型的空的vector對象:

  

vector intvec; 

2.創建一個包含5個int類型數據的vector:

 

 vector intvec(5);

3.創建一個包含5個int類型數據的vector,并且都初始化為2:

vector intvec(5, int(2));

4.通過復制某vec容器來創建

vector intvec(vec.begin+M,vec.begin+N)

元素的訪問

intvec.at(index) 

返回由index指定的位置上的元素

intvec[index]

返回由index指定的位置上的元素

舉例:

[cpp] view plaincopy
01.include   
02.#include   
03.using namespace std;  
04.int main()  
05.{  
06.    vector vec(10);  
07.    for (int i = 0;i != vec.size();i++)  
08.    {  
09.        vec.at(i) = i;  
10.        //vec[i] = i ;  
11.    }  
12.  
13.    for (int i = 0;i != vec.size();i++)  
14.    {  
15.        cout << vec.at(i)<

容器的大小

表達式

作用

intvec.capacity()

返回不重新分配空間可以插入到容器intvec中的元素的最大個數

intvec.empty() 

容器intvec為空,返回true;否則,返回false

Intvec.size()

返回容器intvec中當前的個數

intvec.resize(num)

將元素個數改為num。如果size()增加,默認的構造函數負責創建這些新元素

intvec.resize(num, elem)

將元素個數改為num。如果size()增加,默認的構造函數將這些新元素初始化為elem

舉例:

[cpp] view plaincopy
01.#include   
02.#include   
03.using namespace std;  
04.int main()  
05.{  
06.    vector vec1;  
07.    cout << vec1.empty()< vec2(20);  
11.    cout << vec2.empty()< vec3(15,1);  
15.    cout << vec3.capacity()<

容器的操作

語句

 作用


intvec.clear()  

從容器中刪除所有元素

intvec.erase(position) 

刪除由position指定的位置上的元素

intvec.erase(beg,end)

刪除從beg到end-1之間的所有元素

intvec.insert(position, elem)

將elem的一個拷貝插入到由position指定的位置上,并返回新元素的位置

intvec.inser(position, n, elem)

將elem的n個拷貝插入到由 position指定的位置上

intvec.insert(position, beg, end)

將從beg到end-1之間的所有元素的拷貝插入到intvec中由position指定的位置上

intvec.push_back(elem) 

將elem的一個拷貝插入到vector的末尾

intvec.pop_back()   

刪除最后元素

intvec.front()

返回第一個元素的引用,不檢查容器是否為空

Intvec.back()

返回最后一個元素的引用,不檢查容器是否為空

[cpp] view plaincopy
01.#include   
02.#include   
03.using namespace std;  
04.int main()  
05.{  
06.    vector vec(10,1);  
07.    cout< vec1(1,1);  
12.    vec1.insert(vec1.begin()+1,2); //在該位置插入,把原來該位置以其以后的元素整體后移  
13.    for(int i = 0;i != vec1.size();i++)  
14.        cout<  
02.#include   
03.using namespace std;  
04.int main()  
05.{  
06.    vector vec(10,1);  
07.    vec.push_back(2);//12  
08.  
09.    cout<

二維數組

vector< vector > v(3);

//v有3個元素,
//每個元素都是vector 容器

[cpp] view plaincopy
01.#include   
02.#include   
03.using namespace std;  
04.int main() {  
05.    vector< vector > v(3);  
06.    for(int i=0; i

輸出:

0 1 2 3

0 1 2 3

0 1 2 3

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64127.html

相關文章

  • 初探STL關聯容器

    摘要:更加實際的定義應該是一個集合是一個容器,它其中所包含的元素的值是唯一的。對而言,鍵只是指存儲在容器中的某一成員。成員函數構造函數中的元素都是模板類對象。元素按照成員變量從小到大排列,缺省情況下用定義關鍵字的小于關系。 分類:set, multiset, map, multimap 特點:內部元素有序排列,新元素插入的位置取決于它的值,查找速度快。 常用函數: find: 查找等于...

    objc94 評論0 收藏0
  • 熬夜爆肝!C++核心STL容器知識點匯總整理【3W字干貨預警 建議收藏】

    摘要:拷貝構造函數示例構造無參構造函數總結容器和容器的構造方式幾乎一致,靈活使用即可賦值操作功能描述給容器進行賦值函數原型重載等號操作符將區間中的數據拷貝賦值給本身。清空容器的所有數據刪除區間的數據,返回下一個數據的位置。 ...

    wayneli 評論0 收藏0
  • STL容器deque

    摘要:如果增加,默認的構造函數將這些新元素初始化為隊列當前的元素個數交換兩個隊列兩個重載和小結向量容器,使用線性存儲結構,可以像數組一樣隨機下標訪問元素,還可以在尾部插入元素用函數。 deque 特點: 1.雙向隊列 2.使用時包含頭文件 #include 3.deque容器與vector類似,用動態數組來管理元素,支持隨機訪問。 4.與vector不同的是deque的動態數組首尾...

    yy13818512006 評論0 收藏0
  • 初探STL算法

    摘要:算法部分主要由頭文件組成。數值算法對容器內容進行數值計算。在指定范圍內查找由輸入的另外一對標志的第二個序列的最后一次出現。重載函數使用自定義比較操作。刪除指定范圍內所有等于指定元素的元素。返回,指出序列中最小的元素。 STL算法部分主要由頭文件,,組成。要使用 STL中的算法函數必須包含頭文件,對于數值算法須包含,中則定義了一些模板類,用來聲明函數對象。 分類 STL中算法大致分為...

    nanfeiyan 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<