分类目录归档:未分类

平静就好

当年自习课,初中班主任面容严肃地把我们叫出来,说:你们是不是早恋了,你们这样要不得啊,你们能为对方的人生负责吗……毕业5年了,他老人家的音容笑貌还时不时地能吓我一跳。他上作文课常说人未必有才,但要有德。

C到C++的输入方式

Tips不要使用getch()和conio.h输出%d可以用printf("%%d");printf("\n");输出n"\n" 比 endl 快。C语言输入函数getchar函数接受所有字符包括回车。(单个字符)gets函数是以回车符作为输入结束的标志,容易越界。C++输入函数bool eof(); 判断输入流是否结束

容器适配器 stack, queue, priority_queue

容器适配器可以用某种顺序容器来实现(让已有的顺序容器以栈/队列的方式工作)1) stack: 头文件 < stack > 栈 -- 后进先出2) queue: 头文件 < queue > 队列 -- 先进先出3) priority_queue: 头文件 < queue > 优先级队列 -- 最高优先级元素总是第一个出列都有3个成员函数:push: 添加一个元素;top: 返回栈顶部或队头元素的引用pop: 删除一个元素容器适配器上没有迭代器——STL中各种排序, 查找, 变序等算法都不适合容器适配器stackstack 是后进先出的数据结构只能插入, 删除, 访问栈顶的元素可用 vector, list, deque来实现缺省情况下, 用deque实现用 vector和deque实现, 比用list实现性能好template

关联容器 Set和Multiset

set和multiset 内部元素有序排列,新元素插入的位置取决于它的值,查找速度快。 除了各容器都有的函数外,还支持以下成员函数:find: 查找等于某个值 的元素(x小于y和y小于x同时不成立即为相等)lower_bound : 查找某个下界upper_bound : 查找某个上界equal_range : 同时查找上界和下界count :计算等于某个值的元素个数(x小于y和y小于x同时不成立即为相等)insert: 用以插入一个元素或一个区间multisettemplate

顺序容器 List & Deque

List容器双向链表#include < list >在任何位置插入和删除都是常数时间不支持根据下标随机存取元素具有所有顺序容器都有的成员函数List容器还支持的8个成员函数:Push_front() :在链表最前面插入Pop_front():删除链表最前面的元素Sort():排序(list不支持STL算法sort,因为不支持随机访问迭代器)Remove():删除和指定值相等的所有元素Unique():删除所有和前一个元素相同的元素Merge():合并两个链表,并清空被合并的链表Reverse():颠倒链表,逆序Splice():在指定位置前面插入另一链表中的一个或多个元素,并在另一链表中删除被插入的元素List容器的sort函数List容器的迭代器不支持完全随机访问,不能用标准库中的sort函数对它进行排序,List自己的sort成员函数:List classname