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();//取出堆顶元素

posted @ 2018-03-22 22:47  Douglas_Zhou  阅读(444)  评论(0编辑  收藏  举报