剑指Offer C++总结

1、向量vector用法

1.1  Vector的存储空间是连续的,List不是连续存储的。

定义初始化: 

vector<type> v //默认v为空,即v[0]=5是错误的;
vector<type> v1(v) 或者v1=v或者vector<type> v1(v.begin(),v.end());
vector<type> v(n,i) v中包括n个值为i的type类型的值
vector<type> v(n,0) v中包括n个值为0的type类型的值

1.2  vector的几种操作

v.push_back(t)  扩充容器的size
另外list有push_front()函数,在前端插入,后序的元素下标依次增大
v.size() 返回容器中数据的个数
v.empty()判空
v.insert(pointer,number,content) 向v中pointer的位置处插入number个content,也可以是v.insert(pointer,content)
v.pop-back()删除容器中的末元素,并不返回该元素
v.erase(pointer1,pointer2)删除pointer1到pointer2中间的元素(包含pointer1所指的)
vector<int>::iterator p=v.begin(),p初始值指向v的第一个元素,*p是取所指元素的值。
v.clear()清空向量

#include<algorithm>中泛函算法

搜索算法:find(),search(),count(),find_if(),search_if(),count_if()
分类排序:sort(),merge()
删除算法:unique(),remove()

2  堆栈的Stack的用法

Stack初始化和vector比较类似
stack<type> s
stack的基本操作:
入栈:s.push(x)
出栈:s.pop()只是删除栈顶元素,但并不返回该元素
访问栈顶:s.top()
判空:s.empty()
访问栈中元素的个数:s.size() 

3  队列queue的用法

queue队列初始化与vector以及stack一样
queue<int> q
入队:q.push()
出队:q.pop()将首个元素取出去,并且没有返回值
q.size()队列类型数的数量
q.empty()判空
q.front()返回队列第一个元素
q.back()返回队列最后一个元素

4  C++原带的stl中二分法函数equal_range(),应用于排列好的列表或者数组

equal_range(vector.begin(),vector.end(),value)

其返回指向输入序列中所有值等于val的元素所组成的子序列的起始及末尾位置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值