STL的基本使用方法
C++STL
sort
sort( begin, end, cmp),将begin -> end 按照cmp规则排列
lower_bound
lower_bound(begin, end, a),在begin -> end的序列中查找第一个大于等于a的位置。
vector
vector不定长数组,有以下的几种用法
#include<vector>
vector<int> a;
int insert,resize;
a.push_back(insert);//向尾部插入元素
a.pop_back();//删除尾元素
a.size();//返回大小
a.resize(resize);//重新设定大小
a[i];//可以像数组一样直接访问
set
set集合,类似于数学中的集合,每个数字只会出现一次,可以用于去重。有以下几种用法
#include<set>
set<int> a;
int insert,size;
a.insert(insert);//插入元素
a.begin();//首元素
a.end();//尾元素
对于set的遍历,有以下方法:
for(set<int>::iterator it=a.begin;it!=a.end;i++)
cout<<*it<<endl;//元素已经从小到大排好
map
map映射,从key到value进行映射,例如:map<string, int>month_name 就可以用,month_name["July"]=7进行赋值
stack
stack栈,有以下几种用法:
#include<stack>
stack<int> a;
int insert;
a.push(insert);//插入元素
a.top();//顶元素
a.pop();//取出顶元素
queue
queue队列,有以下几种用法:
#include<queue>
queue<int> a;
int insert;
a.push(insert);//插入元素
a.top();//顶元素
a.front();//取出顶元素
优先队列(堆)
int insert;
priority_queue<int> a;//大堆
priority_queue<int, vector<int>, greater<int> >a;//小堆
//具体用法
a.push(insert);//插入元素
a.top();//堆顶元素
a.pop();//取出堆顶元素