vector向量容器的总结

vector向量容器

1.创建vector对象
头文件:#include<vector>
创建vector有三种形式
vector<int> v; //不指定元素个数
vector<double> v(10); //指定容器的大小
vector<double> v(10,8.6); //指定元素的大小并对每个元素赋初值
2.尾部元素扩张
通常使用push_back(元素)对vector容器在尾部追加新元素。
3.元素的访问
①下标方式访问:
v[0],v[1]···
②用迭代器访问vector元素

#include<vector>
#include<iostream>
using namespace std;
int main()
{
    vector<int> v(3);
    v[0]=2;
    v[1]=7;
    v[2]=9;
    //定义迭代器变量
    vector<int>::iterator it;
    for(it=v.begin();it!=v.end();it++)
    {
        //输出迭代器上的元素
        cout<<*it<<" ";
    }
    cout<<endl;     //换行
    return 0;
}

输出结果:2 7 9
4.元素的插入:

v.insert(v.begin(),1);		//在最前面插入新元素1
v.insert(v.begin()+2,2);	//在第三个元素前插入2
v.insert(v.end(),3);		//在末尾插入3

5.元素的删除:

v.erase(v.begin()+2);	//删除第三个元素
v.erase(v.begin()+1,v.begin()+5);	//删除第二个到第六个的元素
v.clear();		//清空向量

6.排序:
头文件:

#include<algorithm>

反向排序
用reverse反向排序算法

#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
    vector<int> v(3);
    v[0]=2;
    v[1]=11;
    v[2]=9;
    //定义迭代器变量
    reverse(v.begin(),v.end());    //对向量的从头到尾的元素进行反向排序
    vector<int>::iterator it;
    for(it=v.begin();it!=v.end();it++)
    {
        //输出迭代器上的元素
        cout<<*it<<" ";
    }
    cout<<endl;     //换行
    return 0;
}

输出结果:9 11 2

用sort算法排序
从小到大排

#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
    vector<int> v(3);
    v[0]=2;
    v[1]=11;
    v[2]=9;
    //定义迭代器变量
    sort(v.begin(),v.end());    //对向量的从头到尾的元素进行排序
    vector<int>::iterator it;
    for(it=v.begin();it!=v.end();it++)
    {
        //输出迭代器上的元素
        cout<<*it<<" ";
    }
    cout<<endl;     //换行
    return 0;
}

输出结果:2 9 11

从大到小排

#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
//自己设计排序比较函数:对元素值进行降序排序
bool Comp(const int &a,const int &b)
{
    if(a!=b)return a>b;
    else return a>b;
}
int main()
{
    vector<int> v(3);
    v[0]=2;
    v[1]=11;
    v[2]=9;
    //定义迭代器变量
    sort(v.begin(),v.end(),Comp);    //按Comp函数比较规则排序
    vector<int>::iterator it;
    for(it=v.begin();it!=v.end();it++)
    {
        //输出迭代器上的元素
        cout<<*it<<" ";
    }
    cout<<endl;     //换行
    return 0;
}

输出结果:11 9 2
7.向量的大小:
使用size()方法可以返回向量的大小,即元素的个数;
使用empty()方法返回向量是否为空。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值