C++_STL—容器Vector篇

廣海_小瘋瘋丶發表於2018-01-11

C++_STL—容器Vector篇

最簡單的 STL 容器就是 vector。Vector 只是一個擁有擴充套件功能的陣列。順便說一下,vector 是唯一向後相容 C 程式碼的容器——這意味著 vector 實際上就是陣列 ,只是擁有一些額外特性。

容器的使用

標頭檔案引用:

#include <vector>
using namespace std;

Vector的定義和初始化

    vector<int> vec1;    //預設初始化,vec1為空

    vector<int> vec2(vec1);  //使用vec1初始化vec2

    vector<int> vec3(vec1.begin(),vec1.end());//使用vec1初始化vec2

    vector<int> vec4(10);    //10個值為0的元素

    vector<int> vec5(10,4);  //10個值為4的元素

常用的操作方法


    vec1.push_back(100);            //新增元素

    int size = vec1.size();         //元素個數

    bool isEmpty = vec1.empty();    //判斷是否為空

    cout<<vec1[0]<<endl;        //取得第一個元素

    vec1.insert(vec1.end(),5,3);    //從vec1.back位置插入個值為的元素

    //vec1.pop_back();              //刪除末尾元素

    //vec1.erase(vec1.begin(),vec1.end());//刪除之間的元素,其他元素前移

    cout<<(vec1==vec2)?true:false;  //判斷是否相等==、!=、>=、<=...

    vector<int>::iterator iter = vec1.begin();    //獲取迭代器首地址

    vector<int>::const_iterator c_iter = vec1.begin();   //獲取const型別迭代器

    //vec1.clear();                 //清空元素

遍歷

下標法


    int length = vec1.size();
    for(int i=0;i<length;i++)
    {
       cout<<vec1[i];
    }
    cout<<endl<<endl;

迭代器法

    vector<int>::const_iterator iterator = vec1.begin();
    for(;iterator != vec1.end();iterator++)
    {
       cout<<*iterator;
    }

相關文章