1. 程式人生 > >c++ Vector向量容器

c++ Vector向量容器

使用Vector需要先在標頭檔案定義#include<vector>

1:通過例項瞭解如何賦值,新增,刪除 

#include <iostream>
#include<vector>
using namespace std;
int main()
{
    vector<double> v (10,14.12);//定義一個儲存10個double型別元素的向量容器,其中的每一個元素都為14.12
    v[5]=10.14;	//對v[5]進行重新賦值
    v[9]=78.10;//對v[9]進行重新賦值
    vector<double>::iterator it;    //定義迭代器變數it
    for(it=v.begin();it!=v.end();it++)  //從首元素到最後一個元素的下一個元素位置結束
    {
        cout << *it << endl;//將這10個double型別的元素輸出出來
    }
    cout<<endl;
    v.push_back(2);//將2這個元素從尾部新增到v向量容器中去
    v.push_back(5);//將5這個元素從尾部新增到v向量容器中去
    v.insert(v.begin()+2,1);//在第二個元素後面插入新元素1(如果前面的程式碼中在首位加了元素,依然是在第二個元素後加)
    v.insert(v.end(),3);//在v向量容器末尾追加新元素3
    for(it=v.begin();it!=v.end();it++)  //從首元素到最後一個元素的下一個元素位置結束
    {
        cout << *it << endl;//將這10個double型別的元素輸出出來
    }
    cout<<endl;
    v.erase(v.begin()+1,v.begin()+5);   //元素從0開始計數,將第2個到第5個元素給刪除掉
    for(it=v.begin();it!=v.end();it++)
    {
        cout<<*it<<endl;
    }
    cout<<endl;
    v.clear();  //將v這個向量容器給清空
    cout<<v.size()<<endl;   //輸出v這個向量容器的大小
    return 0;
}

程式碼執行結果: 

14.12
14.12
14.12
14.12
14.12
10.14
14.12
14.12
14.12
78.1

14.12
14.12
1
14.12
14.12
14.12
10.14
14.12
14.12
14.12
78.1
2
5
3

14.12
14.12
10.14
14.12
14.12
14.12
78.1
2
5
3

0

Process returned 0 (0x0)   execution time : 0.065 s
Press any key to continue.

程式碼執行結果

2:反向排列

#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;

int main()
{
    vector<int>v(10,1); //定義一個整形的大小為10個元素且均為1的v向量容器
    vector<int>::iterator it;   //定義迭代器變數it
    for(int i=0;i<10;i++)   //將v向量容器進行重新賦值9~0;
    {
        v[i]=i;
    }
    for(it=v.begin();it!=v.end();it++)  //遍歷輸出v向量容器
    {
        cout<<*it<<" ";
    }
    cout<<endl;
    reverse(v.begin(),v.end()); //反向排列向量的從首到尾之間的元素
    for(it=v.begin();it!=v.end();it++)  //遍歷輸出v向量容器
    {
        cout<<*it<<" ";
    }
    cout<<endl;
    return 0;
}

執行結果:

0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0

Process returned 0 (0x0)   execution time : 0.016 s
Press any key to continue.

 

3:sort排序(預設為升序)

#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    vector<int>v(10,1); //定義一個整形的大小為10個元素且均為1的v向量容器
    vector<int>::iterator it;   //定義迭代器變數it

    for(int i=0;i<10;i++)   //將v向量容器進行重新賦值9~0;
    {
        v[i]=i;
    }
    sort(v.begin(),v.end());    //sort函式方法預設情況下對向量容器進行升序排列
    for(int j=0;j<10;j++)
    {
        cout<<v[j]<<" ";
    }
    cout<<endl;

    sort(v.begin(),v.end());
    for(int k=9;k>=0;k--)//for迴圈減法輸出實現降序排列
    {
        cout<<v[k]<<" ";
    }
    cout<<endl;

    return 0;
}