检索
int p = lower_bound(a,a+n,x)-a;//因为是返回位置所以要减掉起始位置
Vector 不定长数组
a.size()读大小,a.resize()改变大小,a.push_back()向尾部添加元素,a.pop_back()删除最后一个元素 empty()测试是否为空
vector是模板类 所以要用vector<int> a(int a【】)或vector<double> b 这样的方式声明。
vector<int> pile[maxn] ;//每个pile【i】是一个vector 就像一个二维数组,只有第一维maxn的大小是固定的
集合:set
每个元素最多出现一次
eg:输入一个文本 输出文本中的单词 按字典序排序
思路:set保存单词集合。set集合已经从小到大排好序 stringstream得到各个单词,需要<sstream>头文件
isalpha()判读字符是否为英文字母 是则返回非0(小写2 大写1)不是则返回0
for(set<string>::iterator it = dict.begin();it!=dict.end();++it)
映射:map
从key到value的映射 用map<string,int> month_name 表示“月份名字到月份编号”的映射 然后用month_name["July"]=7这样的方式来赋值。