C++vector的使用方法

目录

1、vector简介

2、vecotr的初始化

(1)、创建一个空的vector容器

(2)、创建一个固定大小的vector容器:

(3)、创建一个vector容器

3、vector内元素的访问方式

(1)、利用下标访问

(2)利用at()方法访问

(3)利用迭代器遍历访问       

(4)使用范围-based for 循环

(5)访问第一个和最后一个元素

4、vector相关函数的使用方法

(1)push_back()

(2)pop_back()

(3)size()

(4)clear()

(5)insert()

(6)erase()

                (1)删除单个元素

                (2)删除一个区间内的元素


(2)删除一个区间内的元素

         (7)resize()

                (1) 改变容器大小

              (2)改变容器大小,并改变元素的值


1、vector简介

        简单来说,vector是一种动态数组,可以根据需要自动调节大小。并且还可以随机访问、插入和删除元素。

2、vecotr的初始化

        使用vector时,需要引用头文件<vector>:#include<vector>;

(1)、创建一个空的vector容器

                例:vector<int> v;//创建了一个整数类型向量

(2)、创建一个固定大小的vector容器:

                例:vector<int> v(N); //创建了一个大小为N的整数向量,向量中的元素初始化为0;

(3)、创建一个vector容器

                例:vector<int> v = {1, 2, 3,4};

3、vector内元素的访问方式

(1)、利用下标访问

和数组一样,直接使用下标进行访问:v[0] 、 v[1] 、v[2]  //分别访问第1、2、3个元素;

    vector<int> v = { 1, 3, 6};
    cout << v[0] << endl;
    cout << v[1] << endl;
    cout << v[2] << endl;

(2)利用at()方法访问

        v.at(2);  // 访问第3个元素;

    vector<int> v = { 1, 3 ,6};
    cout << v.at(2) << endl; //访问第三个元素
    

(3)利用迭代器遍历访问       

        使用vector<int>::iterator进行遍历

vector<int> v = {1, 2, 4, 7};
for(vector<int>::iterator it = v.begin(); it != v.end();it++)
{
    int element = *it;
    cout << element << endl;//遍历输出vector中的所有元素
}

(4)使用范围-based for 循环

        for(int element : v) //变量element 会一次取得向量v中的每一个元素;

vector<int> v = {2, 3,  5};
for(int element : v)
    cout << element << endl;//遍历输出vector中的所有元素

(5)访问第一个和最后一个元素

        int firstElement = v.front(); //获取第一个元素

vector<int> v = {1,3,5};
int firstElement = v.front();    //获取第一个元素“1”

        int lastElement = v.back();//获取最后一个元素

 vector<int> v = {1,2,5};
int lastElement = v.back();    //获取最后一个元素“5”

4、vector相关函数的使用方法

(1)push_back()

               push_back(x);在vector容器后添加一个元素x。

vector<int> v;
v.push_back(1);
v.push_back(2);
/*等价于v = {1,2}*/

(2)pop_back()

                pup_back();删除vector容器最后的一个元素;

vector<int> v = {1,2,6,9};
v.pup_back();
//此时v= {1,2,6};

(3)size()

                size()获取vector容器的元素个数;

vector<int> v = { 1,3,4};
cout << v.size();    //输出元素个数,输出结果为3

(4)clear()

                clear()删除vector容器中所有的元素;

vector<int> v = {1,22,44};
v.clear();    //删除所有元素

(5)insert()

                insert(it,x)用于在指定位置插入一个元素x;

vector<int> v = {1,3,6};
v.insert(v.begin() + 1,55);    //将55插入到v[1]的位置

(6)erase()

         erase()用于删除元素

                (1)删除单个元素

                                erase(it);//删除迭代器it除的元素

vector<int> v = {1,5,78};
v.erase(v.begin() + 2);    //删除v[2],即删除78;

                (2)删除一个区间内的元素

                                erase(begin()+ 1,begin()+3);//删除v[1]、v[2]、v[3];

vector<int> v = {1,4,67,33,6};
v.erase(v.begin() + 1,v.begin + 3);    //删除v[1],v[2],v[3];

 (7)resize()

        (1) 改变容器大小

将容器为n的大小由5改为4,末尾元素被删除

vector<int> n(5);
n.resize(4);            

       (2)改变容器大小,并改变元素的值

   

vector<int> n(5);        //元素默认值为0
n.resize(4,2);           //容器大小改为4,将元素赋值为2

           

                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值