当前位置:   article > 正文

剑指Offer C++总结_剑指offer c++代码下载

剑指offer c++代码下载

1、向量vector用法

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

定义初始化: 

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

1.2  vector的几种操作

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

#include<algorithm>中泛函算法

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

2  堆栈的Stack的用法

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

3  队列queue的用法

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

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

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

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号