172210704111-陈国佳总结《2018年1月1日》【连续082天】
标题:STL基本概念;
内容:
大家元旦快乐!!!
标准模板库:包括一些常用的数据结构和算法的模板的集合;
容器:可容纳各种数据类型的通用数据结构,是类模板;
迭代器:可用来依次存取容器中的元素,类似于指针;
算法:用来操作容器中的元素的函数模板;
容器概述:
1)顺序容器:
vector 头文件<vector>
动态数组。元素在内存连续存放,随机存取任何元素都能在常数时间内完成,在尾端删减元素(大部分情况下都是常数时间);
deque 头文件<deque>
双向队列。元素在内存连续存放,随机存取任何元素都能在常数时间内完成(仅次于vector),在两端删减元素(大部分情况下都是常数时间);
list 头文件<list>
双向链表。元素在内存不连续存放,在任何位置增删元素都能在常数时间完成,不支持随机存放。
关联容器简介:
元素是排序的。
通过平衡二叉树实现。
set/multiset 头文件<set>
set即集合。set中不允许相同元素,multiset中运行相同元素;
map/multimap 头文件<map>
map中有且仅有两个成员变量,一个名first,另一个名second,map根据first值对元素进行从小到大排序,并可快速地根据first来检索元素。
multimap允许相同first值元素;
容器适配器简介:
stack:头文件<stack>
栈,对项的有限序列,并满足序列中被删除,检索和修改的项只能是最近插入序列的项(栈顶)。后进后出。
queue 头文件<queue>
队列,插入只可以在尾部进行,删除,检索和修改只允许在头部进行。先进先出。
priority_queue 头文件<queue>
优先级队列。最高优先级元素总是第一个出列。
顺序容器和关联容器都有的成员函数:
begin:返回指向容器中第一个元素的迭代器。
end: 返回指向容器中最后一个元素后面位置的迭代器。
rbegin:......最后一个...
rend:....第一个前面。。。
erase:从容器中删除一个或几个元素;
clear:从容器中删除所有元素;
顺序容器中的常用成员函数:
front:返回第一个元素的引用;
back:。。。最后一个。。。。;
push_back:在容器末尾增加新元素;
pop_back:删除容器末尾的元素;
erase:删除迭代器指向的元素,或一个区间,返回被删元素后面元素的迭代器;
明日计划:迭代器;