STL
VirtualBool
这个作者很懒,什么都没留下…
展开
-
c++STLstack和queue容器
queue容器中有默认构造函数和拷贝构造函数,以及重载等号操作符,用于queue的初始化。stack容器中有默认构造函数和拷贝构造函数,以及重载等号操作符,用于stack的初始化。pop(),从对头移除第一个元素,并返回移除的元素。push(elem),向栈顶添加元素。push(elem),向队尾添加元素。pop(),从栈顶移除第一个元素。back()返回最后一个元素。front()返回第一个元素。先进后出,不允许有遍历行为。size(),返回栈的大小。size(),返回队的大小。top()返回栈顶元素。原创 2023-04-29 15:24:11 · 97 阅读 · 0 评论 -
c++STLmap/multimap容器
map和multimap区别(和set容器相似):map不允许有重复的key值元素,而multimap可以。count(key)统计key的元素个数,map中为1或0,multimap可以为多个。pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)map/multimap属于关联式容器,底层结构是用二叉树实现的。优点:可以根据key值快速找到value值。成对出现的数据,利用对组可以返回两个数据。两个对组相等key和value均相等。map中所有的元素都是pair。原创 2023-04-28 21:31:45 · 113 阅读 · 0 评论 -
c++STL set/multiset容器
set默认升序排列,想要改变需要仿函数,cmp类的成员函数bool operator()(int a, int b)const,其中const是VS中要求的,在devc++运行不需要。set容器使用insert函数插入重复数据时,会插入失败,但不会报错,不过insert函数会返回bool类型false;find(key)查找key是否存在,若存在,返回该元素的迭代器,若不存在返回set.end();cout(key)统计key元素的个数在set容器中为1或0,multiset容器中答案不确定。原创 2023-03-28 18:54:51 · 114 阅读 · 0 评论 -
C++STL list容器
list有一个重要的性质,插入操作和删除操作都不会造成原有list迭代器的失效,这在vector,deque等都是都是不成立的。由于链表的储存方式并不是连续的内存空间,因此链表中的迭代器只能支持前移和后移,属于双向迭代器。链表:是一种物理储存单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。节点的组成:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。2.链表执行插入和删除操作十分方便,修改指针即可,不需要移动大量元素。back():返回容器最后一个元素。原创 2023-03-27 22:34:57 · 33 阅读 · 0 评论 -
c++STLdeque容器
vector相当于的数组,而deque内部有个中控器,维护每段缓冲区的内容,缓冲区存放真实数据。中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间。成员函数resize(num)重新指定容器的长度为num,若容器变长,则以默认值填充位置,如果容器变短,则末尾超出容器的元素被删除。事实上能够跳跃式访问的容器都没有提供成员函数sort。对于支持随机访问的迭代器的容器,都可以直接使用sort函数进行排序。3.vector访问元素时的速度会比deque快,这和两者的内部实现有关。原创 2023-03-26 19:19:21 · 47 阅读 · 0 评论 -
STL vector容器
函数resize(int num),重新指定容器的长度为num,若容器变长,则以默认值填充新位置,默认值一般是0.如果容器变短,则末尾超出容器长度的元素被删除。resize(int num,elem) ,重新指定容器的长度为num,若容器变长,则以elem值填充新位置.如果容器变短,则末尾超出容器长度的元素被删除。动态扩展并不是在原空间后接续新空间,而是找到更大的内存空间,然后将原数据拷贝到新空间,释放原空间。函数reserve(int len)容器预留len个元素长度,预留位置不初始化,元素不可访问。原创 2023-03-10 22:31:14 · 32 阅读 · 0 评论 -
STL容器string的使用
string的本质是一个类,类内部封装了char*,管理字符串,是一char。另外string内部重载了assign函数用于string对象的赋值。string类重载了+=和append函数实现字符串的拼接。string既然是一个类,那么他就可以像类那样初始化。查找函数find和refind。从string类型中获得子字符串。find查找第一次出现的位置。string中单个字符的存取。string字符串的插入。string字符串的删除。替换函数replace。比较函数compare。原创 2023-01-31 20:04:15 · 51 阅读 · 0 评论 -
c++STL简单介绍
提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露容器内部的表达方式。为了建立数据结构和算法的一套标准,诞生了STL。c++的面向对象和泛型编程思想,目的就是复用性的提升。常用的数据结构有数组,链表,树,栈,队列,集合,映射表等。容器又分为两种:序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。非质变算法:指运算过程中不会更改区间内的元素内容,例如查找,遍历…关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系。有限的步骤解决逻辑或数学上的问题,这门学科叫做算法。原创 2023-01-29 21:29:34 · 66 阅读 · 0 评论