236讲 STL案例2-员工分组。利用vector 容器 和map容器。 头文件和代码文件写在一起的,这个值得看一下。 #include<iostream> #include <string> #include <vector> #include <map> #include<ctime>…
map容器 map构造和赋值 功能描述: 对map 容器进行构造和赋值操作 函数原型: 构造: map<T1,T2> mp; //map默认构造函数; map(const map &mp); //拷贝构造函数 赋值: map& operator=(const map &mp); //重载等号操作符 void te…
215讲 list容器、set容器、仿函数 list基本概念 (链表) 优点: 可以对任意位置进行快速插入或删除 缺点: 1.容器遍历速度没有数组快 2.占用空间比数组大 由于链表存储方式不是连续的内存空间,因此链表list 中的迭代器只支持前移和后移,属于双向迭代器 list 的优点: 采用动态存储分配,不会造成内存浪费和溢出 链表执行插入和删除…
211讲stack容器、queue容器 stack 基本概念 概念:stack 是一种 先进后出 (First In Last Out,FILO) 的数据结构,它只有一个出口。 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈中进入数据称为 ---- 入栈 push 栈中弹出数据称为 ---- 出栈 pop 类似于 弹匣 挤人多地铁 …
210讲 STL案例1-评委打分 案例描述 有5 名选手:ABCDE ,10个评委分别对每一名选手打分,去掉一个最高分,去掉评委中最低分,取平均分。 实现步骤 创建5 名选手,放到vector 中 遍历vector 容器,取出每一个选手,执行for 循环,可以把10个评分打分到deque 容器中 sort 算法对 deque容器中分数排序,去掉最高…
204讲 deque容器 deque 容器基本概念 功能: 双端数组,可以对头端进行插入和删除操作。(vector 在前面插入数组还要讲后面的数据都向后移位,导致效率变低) deque 与 vector 区别: vector 对于头部的插入删除效率低,数据量越大,效率越低; deque 相对而言,对头部插入删除速度会比 vector 快; vect…
201讲 vector容器 数据存取、互换容器、预留空间 vector容器数据存取 功能描述: 对vector 中的数据得存取操作 函数原型: at(int idx); //返回索引 idx 所指得数据 operator[]; //返回索引idx 所指得数据 front[]; //返回容器中的第一个数据元素 back[]; //返回容器中最后一个数…
197讲 vector容器、构造函数、赋值操作、容量和大小、插入和删除 vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector 与普通数组的区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续借新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间。 ve…
189讲 string容器构造函数、赋值操作、字符串拼接、字符串查找和替换、字符串比较、字符存取、字符串插入和删除、子串获取 string构造函数 构造函数原型: string(); //创建一个空的字符串,例如:string str; string(const char * s) //使用字符串s 初始化 string( const string…
185讲 STL初识、vector存放内置数据类型、vector存放自定义数据类型、容器嵌套容器 STL初识 STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 C++ 的面向对象和泛型编程思想,目的就是复用性的提升 大多数情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL …