STL:
队列:
表达式 作用 #include<queue> 定义 queue<int>x 定义一个int类型的队列,名为x x.push(y) 从队列x的对尾插入y x.pop() 队列x的队头出列 g=x.front() g等于x的队头 h=x.back() h等于x的队尾 x.size() 队列x的长度 x.empty() 判断x是否为空(空则true,非空则false)
二叉堆
表达式 作用 priority_queue< int >x 定义一个int类型的大根二叉堆,名为x priority_queue <int, vector< int >, greater< int > > x 定义一个int类型的小根二叉堆,名为x x.push(y) 在大根二叉堆中插入y x.pop() 删除x堆顶元素 sum=x.top() sum是x堆的堆顶元素(最大值)
各种操作:
struct rec
{ int a, b, c; bool operator < ( const rec & y) const { return a> y. a; }
} sum;
int main ( )
{ priority_queue< rec> d; d. push ( sum) ; rec h= d. top ( ) ; d. pop ( ) ;
}
other
表达式 作用 len=unique(a+1,a+1+n)-a-1 给a数组(1~n位)去重,把去重后的长度返回给len s=lower_bound(a+1,a+1+len,v)-a 在a数组(1~len位)中查找大于等于v的第一个数,找到的位置返回给s map<下标,类型>x 定义一个名为x的超大数组 map<pair<下标,下标>,类型>x 定义一个名为x的超大二维数组