C++中vector的用法

一、vector使用时需引用头文件

#include<vector>

二、vector中的相关函数的用法

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
bool cmp(int x,int y)
{
    return x>y;
}
int main()
{
    int i;
    vector<int>v1;//定义vector变量
    vector<int>v2; 
    vector<int>::iterator it1;
    vector<int>::iterator it2; 
    for(i=0;i<=5;i++)
        v1.push_back(i);//在数组最后添加一个数据 
    for(i=0;i<=5;i++)
        v2.push_back(11);//在数组最后添加一个数据 
    for(it1=v1.begin();it1!=v1.end();it1++)
        cout<<*it1<<" ";
    cout<<endl; 
    v1.pop_back();//去掉最后一个数据 
    for(it1=v1.begin();it1!=v1.end();it1++)
        cout<<*it1<<" ";
    cout<<endl;
    i = v1.at(0);//at(i)获得i位置的数据,其中i取值范围[0,i) 
    cout<<i<<endl; 
    cout<<v1.front()<<endl;//front返回数组第一个元素
    cout<<v1.back()<<endl;//back返回数组最后一个元素
    cout<<v1.max_size()<<endl;//得到数组最大可以达到多少
    cout<<v1.capacity()<<endl;//数组重新分配空间之前可以存储的数据量
    cout<<v1.size()<<endl;//数组中当前存放的元素个数 
    v1.resize(5);//重新设置容器大小 
    v1.erase(v1.begin()+2);//删除2号位置的数据,位置从0开始计算 
    v1.erase(v1.begin(),v1.begin()+2);//删除[v1.begin(),v1.begin()+2)之间的数据
    v1.insert(v1.begin(),5,12);//插入5个12到数组中的v1.begin()位置
    v1.insert(v1.begin()+2,v2.begin()+2,v2.begin()+4); //在数组v1的begin()位置
    //插入v2数组中 [a,b)之间的数据 
    v1.insert(v1.begin(),100);//在v1.begin()位置插入100
    //v1.clear();//清空v1 
    if(v1.empty())//判断是否为空,为空时返回1 
    {
        cout<<"空"<<endl; 
    } 
    v1.swap(v2);//交换v1和v2中的数据
    //v1.assign(3,122);//给v1中赋3个122并且清除原来的数据;
    //sort(v2.begin(),v2.end(),cmp); //对v2中的数据按照从大到小排序
    sort(v2.begin(),v2.end());//对v2中的数据按照从小到大排序 
    //unique(v2.begin(),v2.end());//将v2数组中重复的元素放到数组末尾
    // 函数返回第一个出现重复的数据被放置在v2的什么位置 
    //若要达到去重目的还需结合erase函数将多余的删除
    v2.erase(unique(v2.begin(),v2.end()),v2.end()); 
    for(it2=v2.begin();it2!=v2.end();it2++)
        cout<<*it2<<" ";
    return 0; 

} 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值