【C++学习笔记】Vector简单介绍与基础操作

简介:

什么是vector?
向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。

容器特性
1.顺序序列
顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。

2.动态数组
支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。操供了在序列末尾相对快速地添加/删除元素的操作。

3.能够感知内存分配器的(Allocator-aware)
容器使用一个内存分配器对象来动态地处理它的存储需求。

添加元素并遍历输出:

代码

#include <iostream>
#include <vector>//头文件定义
#include <algorithm>
using namespace std;
vector<int> v;//定义一个vector
int main()
{
    int a;

    while(cin>>a){
    v.push_back(a);//在vector末尾添加元素
    vector<int>::iterator it;
    /*遍历输出*/
    for(it=v.begin(); it!=v.end(); it++)
    {
         cout<<*it;
    }  /*遍历输出*/
    cout<<endl;
    }
    return 0;
}

结果

在这里插入图片描述

插入元素并遍历输出:

代码

#include <iostream>
#include <vector>//头文件定义
#include <algorithm>
using namespace std;
vector<int> v;//定义一个vector
int main()
{
    int a;
    int n=5;
    while(n--)
    {
        cin>>a;
        v.push_back(a);    //在vector末尾添加元素

    }
    v.insert(v.begin()+2,666);//在第XXX个元素前面插入;
    v.insert(v.end()-1,999);//在第XXX个元素前面插入;
    /*遍历输出*/
    vector<int>::iterator it;
    for(it=v.begin(); it!=v.end(); it++)
    {
        cout<<*it;
    }
    cout<<endl;
    /*遍历输出*/
    return 0;
}


结果

在这里插入图片描述

删除元素并遍历输出:

代码

#include <iostream>
#include <vector>//头文件定义
#include <algorithm>
using namespace std;
vector<int> v;//定义一个vector
int main()
{
    int a;
    int n=5;
    while(n--)
    {
        cin>>a;
        v.push_back(a);    //在vector末尾添加元素

    }
    v.erase(v.begin()+3);//删除下标为3的元素(第四个)
    /*遍历输出*/
    vector<int>::iterator it;
    for(it=v.begin(); it!=v.end(); it++)
    {

        cout<<*it;
    }
    cout<<endl;
    /*遍历输出*/
    return 0;
}


结果

在这里插入图片描述

输出长度&&清空 并遍历输出:

代码

#include <iostream>
#include <vector>//头文件定义
#include <algorithm>
using namespace std;
vector<int> v;//定义一个vector
int main()
{
    int a;
    int n=5;
    while(n--)
    {
        cin>>a;
        v.push_back(a);    //在vector末尾添加元素

    }
    cout<<v.size()<<endl;
    /*遍历输出*/
    vector<int>::iterator it;
    for(it=v.begin(); it!=v.end(); it++)
    {
        cout<<*it;
    }
    cout<<endl;
    /*遍历输出*/
    v.clear();//清空
    for(it=v.begin();it<v.end();it++){
        cout<<*it;
    }
    return 0;
}


结果

在这里插入图片描述

小结:

Vector基本操作
(1)头文件#include <vector>.
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素.

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;

(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();

vector题目实操

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值