常用的STL总结(一)

1 vector

vector翻译为向量,实际上更像变长数组。以下是vector的成员函数

vector<int> vi,old_v;            // 定义一个vector对象
vi.begin();                // 取vi首元素地址
vi.end();                // 取vi尾元素地址的下一个地址
vi.size();                // 获得vector中元素的个数
vi.clear();                // 清空vector中的所以元素,size = 0

vi.push_back(x);         // 在vector尾添加一个元素x
vi.pop_back();            // 删除vector的尾元素

vi.insert(vi.begin+2, -10)    // 将-1插入vi[2]的位置
vi.insert(old_v.end(), vi.begin() + 1, vi.end());    // 把从第二个元素往后的vector元素插到old_v尾元素地址的下一个地址位置
vi.erase(vi.begin() + 3);    // 删除vi[3]即删除第4个元素
vi.erase(vi.begin() +1, vi.begin() + 4);    // 删除vi[1],vi[2],vi[3],即[first,last)内的元素

通过下标访问,跟普通数组一样。

通常与迭代器it结合使用,通过*it或*(it +i)形式访问vector元素。

vector<int>::iterator it;         // 迭代器的定义,迭代器是一个广义指针
vector<int>::iterator it = vi.begin();         // 定位在vector首元素位置
it++;                        // 能实现自增自减操作
it!= vi.end;            // 不支持it< vi.end()写法,只能用 !=
it = vi.begin() +  3;    // 只有在vector和string中,才允许使用这种迭代器+整数写法

使用场景:作为数组使用,而且在一些元素个数不确定的场合可以很好地节省空间

2 set

set翻译为集合,是一个内部自动有序且不含重复元素的容器。一下为常用的成员函数:

set<int> st;            // 定义一个set对象
st.begin();                // 取it首元素地址
st.end(
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vinkuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值