C++ STL容器使用方法小记,持续更新

本文讲述了在快手面试中遇到的问题,作者选择了使用传统双指针算法,同时介绍了STL中的`emplace`和`splice`高效容器操作方法,以及`remove`函数的用法,强调了在实际项目中兼顾算法功底与实践便利性的重要性。
摘要由CSDN通过智能技术生成

快手面试手撕算法题的时候,我选择用传统的双指针做,面试官在结束的时候问了我一句,为什么不用STL提供的方法呢,会更方便。想了想还挺有道理的,传统方法光能体现算法的功底,但真正实践中还是怎么方便怎么来。于是准备粗略记录一下刚学会用的一些方法。

list

emplace

在容器中的指定位置插入元素。该函数和 insert() 功能相同,但效率更高。

// 在指定位置pos插入之后value,返回刚插入数据的迭代器it
list<Type>::iterator it = emplace(list<Type>::iterator pos, Type value...)
splice

将一个 list 容器中的元素插入到另一个容器的指定位置。

// 把整个list2,插入到list1的list1_it位置
list1.splice(list<Type>::iterator list1_it, list<Type> list2);

// 把list2的list2_it位置的值,插入到list1的list1_it位置
list1.splice(list<Type>::iterator list1_it, list2, list<Type> list2, list<Type>::iterator list2_it);

// 把list2的list2_bit到list2_eit位之间的值,插入到list1的list1_it位置,做闭右开
list1.splice(list<Type>::iterator list1_it, list2, list<Type> list2, list<Type>::iterator list2_bit, list<Type>::iterator list2_eit);

algorithm库函数

remove
// 将容器中在begin, end范围内的等于value的值全部清除(左闭右开),注意:他的remove是把后面的移上来,想要彻底去除还要配合erase
STL::iterator it = remove(STL::iterator begin, STL::iterator end, Type value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值