排序:
sort格式:void sort(要排序元素的起始地址,要排序元素的结束地址,比较函数);
比较函数可忽略,默认从小到大
降序定义:
bool cmp(int x,int y)
{
if(x>y) return true;
return false;
}
对结构体进行排序要自行定义排序函数
map:
定义:map<类型,类型> m;
m[key]=value;
stack:
头文件:include<stack>
定义:
stack<类型(可以不写)> st;或:stack st;
成员函数(常用):
.empty()判断栈是否为空
.size()返回栈中元素数目
.pop()移除栈顶元素
.top()返回栈顶元素
.push(xxx)在栈顶增加元素
二分查找:
头文件:#include <algorithm>
1、lower_bound
对于有序容器(重点)快速二分查找出第一个大于等于指定数的位置(下标),如果没有找到,返回最后一个数据后面的位置
对于数组:
查找的数组下标=lower_bound(数组要查找的开始位置,数组要查找的结束位置后面,要找的数)-数组开始的位置
2、upper_bound
快速查找出第一个大于指定数的位置(下标),其他同上
3、binary_search
查找数组内某个元素是否出现
定义:
void binary_search(数组首地址,结束地址,要查找的数)
返回为bool类型,找到返回true