c++ 14

时间:2021-09-25 16:49:55

一、堆栈(stack)
stack -> vector/deque/list
push  -> push_back
pop   -> pop_back
top   -> back
empty/size... -> empty/size
stack<int, vector<int> > si;
stack<string, deque<string> > ss;
stack<Student, list<Student> > st;
stack<Student> st; // 默认底层容器deque

二、队列(queue)
queue -> deque/list
push  -> push_back
pop   -> pop_front
front -> front
empty/size... -> empty/size...
queue<int, list<int> > qi;
queue<int> qi; // 默认底层容器deque

三、优先队列(priority_queue)
优者先出:通过元素类型对“<”的支持实现,谁大谁就优先。同时,也可以通过模板的第三的类型参数,指定比较器类型,在其中实现比较规则。
底层容器:vector/deque(默认)/list

四、映射(map)
1.key-value对的集合
2.key唯一
3.迭代遍历key升序
4.支持下标运算符,以下标的形式访问与特定key相对应的value
5.key-value对通过pair表示
pair::first - key
pair::second - value
练习:编写程序,统计英语单词文件中每个单词出现的频率,按照字典序输出。
6.通过map的第三个模板实参指定实现比较KEY的比较器类型,在该类型中实现自定义的比较规则。

五、集合(set)

六、多重映射(multimap)

七、多重集合(multiset)

八、泛型算法
1.find
2.sort

九、几个特殊的全局迭代器
1.I/O流迭代器
2.插入迭代器