![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++模板标准库(STL)
心点心
这个作者很懒,什么都没留下…
展开
-
STL——员工分组案例
学习目标:复习并学会各种容器的结合使用 案例描述: 1、公司今天招聘10 个员工(ABCDEFGHIJ),10名员工进入公司后,需要指派员工的具体工作部门 2、员工信息有:姓名、工资组成。部门分为:策划、研发、美术 3、随机给10名员工分配部门和公司 4、通过multimap容器进行信息的插入key(部门编号)Value(员工) 5、分部门显示员工信息 实现步骤: 1、创建10名员工,放到vector容器中 ...原创 2020-11-12 00:09:15 · 151 阅读 · 0 评论 -
STL之Map容器
一、map容器的基本概念 简介: map中所有元素都是pair pair中的第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值自动排序 本质:map/multimap属于关联式容器,底层结构是二叉树实现。 优点:可以根据key值快速找到value值 map与multimap的区别: map不允许容器中有重复的key值元素。 multimap允许容器中有重复的key值元素。 二、m...原创 2020-11-11 22:05:25 · 573 阅读 · 0 评论 -
STL之set/multiset容器
一、set容器的基本概念 本质:set/multiset属于关联式容器,底层结构用的是二叉树实现 功能:set容器中所有的元素在插入时会自动排序,并把重复的数据给删除掉 multiset容器中的元素在插入时也会自动排序,但并没有把重复的数据给删除掉 set容器的构造与赋值: 构造函数原型: set<T> st; //默认构造函数 set(const set &st); ...原创 2020-11-08 15:56:31 · 89 阅读 · 0 评论 -
STL之List容器
一、list容器的基本概念 功能:进数据进行链式存储 链表(list)是一种物理存储单元上非连续的存储结构(存储的地址是非连续的),数据元素的逻辑顺序是通过链表中的指针链接来实现 链表的组成:链表由一系列结点组成 节点的组成:一个存储数据元素的数据域,另一个储存下一个结点的指针域 STL中的链表是一个双向循环链表 由于链表的存储方式不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。 list的优点: 1、采用动态存储分配,不会造成内存浪...原创 2020-11-04 22:36:06 · 190 阅读 · 0 评论 -
STL之Stack容器
一、容器的基本概念 概念:stack容器是一种先进后出的数据结构,只有一个进出口 栈中只有顶部的数据才可以被外界访问,因此,栈不允许有遍历的行为 栈中进入数据称为-------入栈(push) 栈中出数据称为-------出栈(pop) ...原创 2020-11-04 10:54:01 · 117 阅读 · 0 评论 -
STL_deque容器C++
一、Queue容器的构造函数 学习目标:灵活使用queue容器的构造函数 queue与vector的区别: 1、vector对于头部的插入删除效率低,数据量越大,效率越低 2、queue相对而言,对头部的插入删除速度比vector快 3、vector访问元素的速度比queue快,这和两者实现的内部有关 dueue的工作原理: queue内部有一个中控器,维护每一段缓存区中的内容,缓存区中存放真实数据 中控器维护的是每一个缓存区的...原创 2020-11-03 21:31:04 · 245 阅读 · 0 评论 -
STL之Queue容器
一、Queue容器的基本概念 学习目标:认识queue容器,弄清楚queue容器的工作原理 概念:Queue容器是一种先进先出的数据结构。队列方向是队尾指向队头,队尾只能进数据push(),队头只能出数据pop()。 队列容器允许从一端新增元素,从另一端移除元素。 队列只有队头(front)和队尾(back)才可以被外界使用,因此,队列不允许有有遍历行为。 队列中进数据称为-----入队 push() 队列中...原创 2020-11-03 20:47:24 · 107 阅读 · 0 评论 -
STL_String容器
一、String的基本概念 本质:string是C++风格的字符串,而string本质上是一个类 string与char*的区别: 1、cahr*是一个指针 2、string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器 特点: 1、string内部封装了很多的方法。例如查找find、拷贝copy、删除delete、替换replace、插入insert等等 2、string管理char*所分配的内存,不用担心复制越界或取值越界等,有类...原创 2020-11-02 20:36:30 · 62 阅读 · 0 评论 -
STL之Vector容器
一、初识Vector容器 学习目标1:学会往Vector容器中添加内置数据类型和Vector容器的遍历 示例: #include "iostream" #include <vector> #include <algorithm> using namespace std; void print(int val) { cout << val << endl; } void test01() { vector<int> v; v.push原创 2020-11-01 15:34:50 · 115 阅读 · 0 评论 -
STL(C++标准模板库)
软件界的需求:1、建立一种可重复利用的东西 2、建立一套数据结构与算法的标准 ——C++的面向对象与泛型编程思想,目的是提升代码的复用性。 ——STL,是C++为建立数据结构和算法的一套标准。 STL(标准模板库) 从广义上分为:容器(container)、算法(algorithm)和迭代器(iterator) 容器和算法之间通过迭代器进行无缝连接 STL几乎所有的代码都采用模板类或者模板函数 ...原创 2020-10-14 09:33:09 · 112 阅读 · 0 评论