或
void *memset(void *s, int ch, size_t n);
#include
sort(a,a+n)排序函数,从小到大,a为数组名字,n为元素个数
sort(vector.begin(),vector.end())排序vector
只要数据类型定义了小于操作符,即可用sort
sort(a,a+n,compare)即可按照自定义顺序排列,compare为比较函数,返回值为bool
lower_bound(a,a+n,x)二分查找,查找大于或等于x的第一个位置,只能查找vector<>数组,返回值为vector<>::iterator指针
unique(vector1.begin(),vector1.end()),重排元素,使得所有值提前,返回值为重排后最后一个非重复值的后面的值的迭代器,即从返回值到vector1.end()是无意义的值,也是重复值的总数量
reverse(vector1.begin(),vector1.end()),反转元素顺序
next_permutation(p,p+n),求下一个全排列,枚举用
#include 数组
定义示例:vector b(5);或者vector a;
赋值:b[0]=1;只有第一种定义可以这样赋值
函数:
int size(),获取大小
void resize(int num),改变大小
void push_back(int x),向尾部添加元素
void pop_back(),删除最后一个元素
void clear(),清空
bool empty(),检查是否为空
iterator insert(iterator x,y),向vector数组的x位置插入元素y,x可以为v.begin()+2
iterator erase(iterator x),删除vector数组的x位置元素
iterator begin(),返回头指针
iterator end(),返回尾指针
vector<>::iterator为一个可以指向其元素的指针
#include 集合,其中不含重复元素,且其中元素已从小到大排序,从1开始
定义示例:set a;
函数:
int size(),获取大小
iterator find(x),若找到x,返回该键值迭代器的位置,否则,返回最后一个元素后面一个位置,即s.end()
void clear(),清空
bool empty(),检查是否为空
iterator insert(y),向set集合插入元素y
iterator erase(iterator x),删除set集合的值为x的元素,返回值为下一个位置的迭代器
iterator begin(),返回头指针
iterator end(),返回尾指针
set<>::iterator为一个可以指向其元素的指针
#include 映射,索引
定义示例:map month_name;
赋值:map[“July”]=7;
函数:
iterator find(y),寻找索引值为y的元素,返回指向其的指针
iterator insert(map(“July”,7)),向map映射插入元素(“July”,7)
iterator erase(iterator x),删除map映射的迭代器x的元素
map< string,int>::iterator l_it;;
l_it=m.find(“July”);
if(l_it==m.end())
cout<
else m.erase(l_it); //delete July;
iterator begin(),返回头指针
iterator end(),返回尾指针
map<>::iterator为一个可以指向其元素的指针
#include
定义示例:stack s;
void push(x),将值x压入栈
void pop(),删除顶部元素
top(),获得栈顶元素,但不删除
bool empty(),检查是否为空
int size(),获取大小
#include
定义示例:queue q;
void push(x),将值x入队
void pop(),出队
front(),获得队头元素,但不删除
bool empty(),检查是否为空
int size(),获取大小
#include
string substr(int pos = 0,int n = npos) const; //返回pos开始的n个字符组成的字符串
void swap(string &s2); //交换当前字符串与s2的值
string &insert(int p0, const char *s); /