C++——常用拷贝和替换算法 1. copy // 容器内指定范围的元素拷贝到另一容器中2. replace // 将容器内指定范围的旧元素修改为新元素3. replace if // 容器内指定范围满足条件的元素替换为新元素4. swap // 互换两个容器的元素。
C++——常用排序算法 1.sort //对容器内元素进行排序2.random_shuffle //洗牌 指定范围内的元素随机调整次序3.merge // 容器元素合并,并存储到另一容器中4.reverse // 反转指定范围的元素。
C++——算法概述与常用遍历算法 1. 算法主要是由头文件<algorithm> <functional> <numeric>组成2.<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等3. <numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数4.<functiona1>定义了一些模板类,用以声明函数对象常用遍历算法* for_each //遍历容器* transform //搬运容器到另一个容器中。
C++——内建函数对象 template<class T> T minus<T> //减法仿函数。template<class T> T plus<T> //加法仿函数。template<class T> T multiplies<T> //乘法仿函数。template<class T> T divides<T> //除法仿函数。template<class T> T modulus<T> //取模仿函数。template<class T> T negate<T> //取反仿函数。
C++——案例-员工分组 1公司今天招聘了10个员工(ABCDEFGHI)110名员工进入公司之后,需要指派员工在那个部门工作。3.分组后,将员工部门编号作为key,具体员工作为value,放入到multimap容器中。4.通过multimap进行信息的插入 key(部门编号) value(员工)2.员工信息有: 姓名 工资组成;2.遍历vector容器,取出每个员工,进行随机分组。1.创建10名员工,放到vector中。3.随机给10名员工分配部门和工资。5.分部门显示员工信息。4.分部门显示员工信息。
C++——map/ multimap容器的基本概念与构造和赋值 1.map中所有元素都是pair2.pair中第一个元素为key (键值),起到索引作用,第二个元素为value (实值)。3.所有元素都会根据元素的键值自动排序。
C++——set容器的排序与(自定义类型排序) /set容器排序,存放自定义数据类型class Person//自定义数据类型public:int m_Age;class comparePerson//仿函数public://按照年龄 降序//创建Person对象//自定义数据类型 都会指定排序规则Person p1("刘备", 24);Person p2("关羽", 28);Person p3("张飞", 25);Person p4("赵云", 21);//插入报错//遍历it!= s.end();
C++——list容器的插入,删除,数据存取与反转和排序 尾插 --push_back*尾删 --pop_back*头插 --push_front*头删 --pop_front*插入 --insert*删除 --erase*移除 --remove*清空 --clear。
C++——list容器放入赋值,交换与大小操作 /重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//将[beg, end)区间中的数据拷贝赋值给本身。//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//将lst与本身的元素互换。//将n个elem拷贝赋值给本身。//如果容器变短,则末尾超出容器长度的元素被删除.//如果容器变短,则末尾超出容器长度的元素被删除。//返回容器中元素的个数。//判断容器是否为空。
C++——list容器的基本概念与构造函数 将数据进行链式储存链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的:链表由一系列结点组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表:节点的指针域有两个指针 prev--指向上一个节点 next--指向下一个节点:最后一个节点的next可以指向第一个节点由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。
C++——queue容器基本概念与常用接口 /queue采用模板类实现,queue对象的默认构造形式。//从队头移除第一个元素。//返回最后一个元素。push(elem);//判断堆栈是否为空。3.队列中进数据称为--入队 push。4.队列中出数据称为--出队 pop。* 判断队是否为空 --empty。* 返回对头元 --front。* 返回队尾元素 --back。* 返回队列大小 --size。* 入队 --push。