STL常见用法
.1 vector
常用函数有.size(),.clear(),.empty(),.resize(),.front(),.back(),pop_back()。
vector[HTML_REMOVED] a(n,66)//把a初始化为一个长度为n(n可以是变量),每个值为66的数组。
vector之间可以直接比较大小,根据字典序返回真假。
.2 pair
pair类型可以是不同,比如[HTML_REMOVED]
支持比较运算,以first为第一关键字,first一样时比较second。
.3 string
.substr(下标,长度)//返回从该下标开始的该长度字符串。长度可省略
.c_str() //以c中字符串形式
.4 queue
.back()可以看队尾元素
没有clear()函数,要清空就这样:q = queue[HTML_REMOVED]();
.5 priority_queue 优先队列 (可用堆实现)
堆实际上就是一种优先队列。
priority_queue[HTML_REMOVED] q ;//默认是大根堆,即队首元素最大。
若要定义小根堆,则可以:
1.黑科技,把所有数push时转为负数,取出来的时候再转正。
2.priority_queue[HTML_REMOVED],greater[HTML_REMOVED]> q;