STL
文章平均质量分 67
以实战为目的,深入理解容器,算法,迭代器
悟道xn
站在前人的肩上,探寻信息未来的发展
展开
-
迭代器--针对于c++的STL介绍
文章目录迭代器基本原理一、种类1、输入迭代器2、输出迭代器3、正向遍历4、双向迭代器5、随机迭代器双向迭代器的支持随机迭代器支持正向遍历反向遍历迭代器基本原理迭代器是一个“可遍历STL容器内全部或部分元素”的对象迭代器指出容器中的一个特定位置迭代器就如同一个指针迭代器提供对一个容器中的对象的访问方法,并且可以定义了容器中的对象的范围一、种类1、输入迭代器输入迭代器:又叫“只读迭代器”,他从容器中读取元素只能一次读入一个元素向前移动,只支持一遍算法,同一个输入迭代器不能两遍遍历一个序原创 2021-04-11 13:08:55 · 127 阅读 · 0 评论 -
c++之Set和multiset容器
c++之Set和multiset容器文章目录c++之Set和multiset容器前言一、这块在set、multiset容器中出现了红黑树,接下来解释一下二、使用步骤1.引入库2.读入数据总结前言1、set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。元素插入过程是按排序规则 插入,所以不能指定插入位置。2、set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树。在插入操作和删除操作上比vector快。3、set不可以直接存取元素。(不可以使用at.(po原创 2021-04-11 12:07:18 · 247 阅读 · 0 评论 -
多态(c++)
文章目录前言一、多态的出现是因为面向对象有了新的需求二、面向对象中的多态三、c++给我们提过的多态支持方案四、实现多态的三个条件五、多态案例分析六、多态理论基础1、静态联编2、动态联编七、多态原理探究多态总结前言多态是设计模式的基础,是编写软件框架的基础!面向对象的三大概念(封装、继承、多态)一、多态的出现是因为面向对象有了新的需求现在的编译器的做法不是我们期望的根据实际的对象类型判断重写函数的调用如果父类指针指向是父类对象则调用父类中定义的函数如果子类指针指向是子类对象则调用子类中定义原创 2021-04-06 11:54:12 · 175 阅读 · 0 评论 -
C++之priority_queue(最大值优先级队列、最小值优先队列)
C++之priority_queue(最大值优先级队列、最小值优先队列)文章目录C++之priority_queue(最大值优先级队列、最小值优先队列)前言一、优先级队列二、用法三、用法案例前言1、最大值优先级队列、最小值优先级队列2、优先级队列适配器 STL priority_queue一、优先级队列优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似于原创 2021-03-31 22:47:19 · 3088 阅读 · 0 评论 -
c++之list容器
c++之list容器list的使用方法:适合在任意位置快速插入移除元素文章目录c++之list容器前言一、list用法二、用法案例基本用法list链表不支持随机访问list插入操作list删除操作删除区间内的元素删除容器中某个重复的元素删除链表的所有元素list反序排列前言1、list是一个双向链表容器,可高效的进行插入删除元素2、list不可以随机存取元素,所以不支持at.(pos)函数和[]操作符迭代器 ++、 --可以使用,但是it+3不可以使用list(beg,end);原创 2021-03-31 22:34:22 · 301 阅读 · 0 评论 -
c++之queue队列模型
c++之queue队列模型文章目录c++之queue队列模型前言一、queue使用方法二、用法案例演示前言1、queue是队列容器,是一种“先进先出”的容器。2、queue是简单地装饰deque容器而成为另外的一种容器。3、#include 一、queue使用方法queue<int> q1;q1.push(elem);//往队尾添加元素q1.pop();//从队头移除第一个元素数据存取两种方法q1.back();//返回队列中最后一个元素q1.fro原创 2021-03-31 18:56:34 · 157 阅读 · 0 评论 -
c++之stack栈模型
c++之stack栈模型文章目录c++之stack栈模型前言一、stack使用方法二、用法案例前言#include stack是堆栈容器,是一种“先进后出的容器”一、stack使用方法stack.push(elem); //往栈头添加元素stack.pop(); //从栈头移除以第一个元素stack.top(); //返回最后一个入栈元素stack.empty();//判断栈是否为空stack.size();//返回堆栈大小二、用法案例原创 2021-03-31 18:42:18 · 296 阅读 · 0 评论 -
c++之deque容器
c++之deque文章目录c++之deque前言一、deque 用法二、deque用法演示(迭代器遍历及根据迭代器求数组下标位置)三、deque 大小总结前言1、deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双端数组,而vector是单端的。2、deque在接口上和vector非常相似,在许多操作的地方可以直接替换。3、deque可以随机存取元素4、deque头部和尾部添加或移除元素都非常快速。但是在中部安插元素或移除元素比较费时原创 2021-03-27 13:06:08 · 1305 阅读 · 0 评论 -
c++之Vector容器
c++之Vector容器1、vector是将元素置于一个动态数组中加以管理的容器2、vector可以随机存取元素vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时文章目录c++之Vector容器一、vector容器介绍1、vector对象初始化2、vector的尾部添加和弹出元素,及获取头部元素,尾部元素3、案例二、Vector遍历1.数组遍历2.迭代器遍历1、正向遍历2、反向遍历3、vector删除操作1、区间删除2、指定元素删除4、vector插入一、ve原创 2021-03-27 12:44:47 · 649 阅读 · 0 评论 -
C++之函数模板和类模板
函数模板和类模板c++提供了函数模板。所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就叫做函数模板。类模板与函数模板的定义和使用类似,使用前景,有时候有两个或多个类,其功能是相似的,仅仅是数据不同,则用到类模板文章目录函数模板和类模板前言一、函数模板定义语法1.函数模板定义形式2.函数模板实例---做函数参数3.普通函数和模板函数的区别4.函数模板机制结论二、类模板1.类模板定义(1)案例演示(2)结论2.从模板类派生普通类3、从模板类原创 2021-03-27 12:03:20 · 264 阅读 · 0 评论 -
C++关于getline和字符串流(Stringstream)的使用
在c++中,控制台是电脑的最基本交互接口,包括键盘和屏幕输入用cin,输出用cout输入运算符 cinint age;cin >> age;cin 只能从键盘输入回车键结束后才能处理前面输入的内容cin可以使用户输入多个数据例如cin >>a >>b;输入时两个变量之间可以以任何有效的空白符号间隔,包括空格,跳跃符tab及换行但是这种办法有缺陷,一次性读入用户的一连串字符可能出错。c++的getline使用String mystr;cout &l原创 2020-12-24 20:57:36 · 1005 阅读 · 0 评论