C++vector用法的初步介绍

vector介绍:

1、容器,存放各种类型的对象,能够增加和压缩数据。

2、像数组一样,采用连续存储空间来存储数据。可采用下标进行访问,大小是动态改变的。

3、本质讲,vector使用动态分配数组来存储它的元素。当新元素插入的时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。

 

头文件:

#include <vector>

 

vector<int> vec; //声明vector
vector<int> vec(5);//声明一个初始大小为5的容器
vector<int> vec(10, 1);//初始大小为10,值为1
int arr[5] = {1,2,3,4,5};
vector<int> vec(arr, arr + 5);

vector的基本操作:

容器大小:vec.size();
判断容器是否为空:vec.empty();
改变容器大小:vec.resize();
末尾添加元素:vec.push_back(1);
末尾删除元素:vec.pop_back();
删除元素:vec.erase(vec.begin(), vec.end());
清空元素:vec.clear();

迭代器访问:

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

下标访问:

for(int i = 0; i < vec.size(); ++i)
{
    cout<<vec[i]<<endl;
}

vector删除元素:

vector<int>::iterator iter;
for(iter = vec.begin(); iter != vec.end(); )
{
    if(*iter == 5)
    {
         iter = vec.erase(iter);   
    }  
    else
    {
        ++iter;
    }
}

vector删除重复元素

sort(vec.begin(), vec.end());
vec.erase(unique(vec.begin(), vec.end()), vec.end());

vector<pair<string, string> >:

主要是用于一对数据的存储,且没有关键字的要求。

vector<pair<string, string> > vecs;
vecs.push_back(make_pair("aaaa", "1111"));
vecs.push_back(make_pair("bbbb", "2222"));
vecs.push_back(make_pair("cccc", "3333"));
for(int i = 0 ; i < vecs.size(); ++i)
{        
    cout<<vecs[i].first<<":"<<vecs[i].second<<endl;
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值