摘要:
STL内建了一些函数对象:算数仿函数、关系仿函数、逻辑仿函数 用法: 这些仿函数所产生的对象,用法和一般函数完全相同; 使用內建函数对象,需要引入头文件#<include><functional> 一、算数仿函数 #include<iostream> using namespace std; #in 阅读全文
posted @ 2019-12-28 17:44
西西嘛呦
阅读(266)
评论(0)
推荐(0)
摘要:
概念: 返回bool类型的仿函数被称为谓词; 如果operator()接受一个参数,那么就叫一元谓词; 如果operator()接受两个参数,那么就叫二元谓词; 一、一元谓词 #include<iostream> using namespace std; #include <vector> #inc 阅读全文
posted @ 2019-12-28 17:19
西西嘛呦
阅读(290)
评论(0)
推荐(0)
摘要:
概念: 重载函数调用操作符的类, 其对象被称为函数对象; 函数对象使用重载的()时,行为类似函数调用,也叫仿函数; 本质:函数对象是一个类,不是一个函数; 函数对象使用: - 函数对象在使用时,可以像普通函数那样调用, 可以有参数,可以有返回值- 函数对象超出普通函数的概念,函数对象可以有自己的状态 阅读全文
posted @ 2019-12-28 17:14
西西嘛呦
阅读(366)
评论(0)
推荐(0)
摘要:
描述: 1.10个员工ABCDEFGHIJ进入公司后分配到各个部门; 2.员工信息有:姓名、工资组成;部门信息有:策划、美术、研发; 3.随机给10名员工分配部门和工资; 4.通过Multimap进行信息的输入;key:部门编号,value:员工 5.分部门显示员工信息; srand((unsign 阅读全文
posted @ 2019-12-28 17:04
西西嘛呦
阅读(283)
评论(0)
推荐(0)
摘要:
1.map中所有的元素都是pair; 2.pair元素中第一个元素为key,第二个元素为value; 3.所有元素都会根据键值自动排序; 4.map中不允许有重复的键,multimap中允许有重复的键; 优点:可以根据key快速的找到value; 一、构造函数 map<T1,T2> mp; map( 阅读全文
posted @ 2019-12-28 16:55
西西嘛呦
阅读(345)
评论(0)
推荐(0)
摘要:
成对出现的数据,利用对组可以返回两个数据 pair对组创建: 两种创建方式: pair<type,type> p{val1,val2}; pair<type,type> p = make_pair(val1,val2); pair<string, int> p("tom", 12); cout << 阅读全文
posted @ 2019-12-28 16:07
西西嘛呦
阅读(254)
评论(0)
推荐(0)
摘要:
1.所有元素在插入时就会被自动排序。 2.底层是二叉树的实现。 3.set中不允许有重复的元素,multiset里面允许有重复的元素。 一、构造函数 set<T> st; set(const set &st); 二、赋值 set& operator(const set &st); 三、大小和交换 s 阅读全文
posted @ 2019-12-28 16:03
西西嘛呦
阅读(300)
评论(0)
推荐(0)
摘要:
需求;有一个类,类中有姓名和年龄成员变量,现在要按姓名升序排序,在姓名相同时按名字升序排序。 #include<iostream> #include<list> #include<algorithm> using namespace std; //加入const限制只读,并使用const_itera 阅读全文
posted @ 2019-12-28 15:52
西西嘛呦
阅读(875)
评论(0)
推荐(0)
摘要:
链表:将数据进行链式存储。物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接进行实现的。 STL中的链表是一个双向循环链表。 一、构造函数 list<T> lst; list(bag,end); list(n,elem); list(const list &list); 二、l 阅读全文
posted @ 2019-12-28 15:09
西西嘛呦
阅读(344)
评论(0)
推荐(0)
摘要:
队列:先进先出。 一、构造函数 queue<T> que; queue(const queue &que); 二、赋值操作 queue& operator=(const queue &que); 三、数据存取 push(ele); pop(); back(); front(); 四、大小操作 emp 阅读全文
posted @ 2019-12-28 14:45
西西嘛呦
阅读(193)
评论(0)
推荐(0)
摘要:
栈:先进后出。 一、构造函数 stack<T> stk; stack<const stack& stk>; 二、赋值操作 stack& operator=(const stack &stk); 三、数据存取 push(ele); pop(); top(); 四、大小操作 empty(); size( 阅读全文
posted @ 2019-12-28 14:42
西西嘛呦
阅读(191)
评论(0)
推荐(0)
摘要:
deque是双端数组。 deque和vector的区别: vector对于头部的插入和删除效率低,数据量越大,效率越低; deque相对于而言,对头部的插入和删除比vector快; vector访问元素时速度比deque快,这和两者的内部实现有关; deque内部工作原理: deque内部有个中控器 阅读全文
posted @ 2019-12-28 14:37
西西嘛呦
阅读(519)
评论(0)
推荐(0)
摘要:
vector和数组非常相似,也称为单端数组。 vector和普通数组的区别:数组是静态空间,而vector可以动态扩展。 所谓动态扩展:并不是在原空间后接新空间,而是找到更大的内存空间,然后将原数据拷贝至,然后释放原空间。 一、vector的构造函数 vector<T> v; vector(v.be 阅读全文
posted @ 2019-12-28 14:09
西西嘛呦
阅读(331)
评论(5)
推荐(0)
摘要:
本质;string是c++风格的字符串,而string本质上是一个类 string和char*的区别: char*是一个指针; string是一个类,类内部封装了char*,管理这个字符串,是一个char*的容器; 特点: string内部封装了很多内部成员方法,例如find、copy、delete 阅读全文
posted @ 2019-12-28 11:10
西西嘛呦
阅读(822)
评论(0)
推荐(1)
摘要:
为什么会有STL? 1.长久以来,软件界就一直希望建立一种可复用利用的东西 2.c++的面向对象和泛型编程思想,目的就是为了复用性的提升 3.大多情况下,数据结构和算法未能有一套标准,导致被迫从事大量的重复性工作 4.为了建立数据结构和算法的一套标准 STL基本概念? 1.STL是标准模板库的简称 阅读全文
posted @ 2019-12-28 10:16
西西嘛呦
阅读(437)
评论(0)
推荐(0)