![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
boomnananana
这个作者很懒,什么都没留下…
展开
-
常用集合算法set_diffierent
黑马263#include#include#include#includeusing namespace std;void myprint(int val){cout << val << endl;}void test01(){vectorv1;vectorv2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i + 5);}vectorvTarget;vTarget.r原创 2021-10-02 13:06:04 · 138 阅读 · 0 评论 -
常用集合算法set_union
黑马261#include#include#include#include#includeusing namespace std;void myprint(int v){cout << v << " ";}void test01(){vectorv1;vectorv2;vector<int>vTargrt;for (int i = 0; i < 10; i++){ v1.push_back(i); v2.push_back(i原创 2021-09-30 11:16:19 · 135 阅读 · 0 评论 -
常用集合算法set_intersection
黑马260#include#include#include#include#includeusing namespace std;void myprint(int v){cout << v << " ";}void test01(){vectorv1;vectorv2;vector<int>vTargrt;for (int i = 0; i < 10; i++){ v1.push_back(i); v2.push_back(i原创 2021-09-30 11:08:05 · 129 阅读 · 0 评论 -
常用拷贝和复制算法swap
黑马258#include#include#include#include#include#includeusing namespace std;void myprint(int v){cout << v << " ";}void test01(){vectorv1;vectorv2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i+100);}cout <&原创 2021-09-30 09:51:27 · 86 阅读 · 0 评论 -
排序算法-洗牌算法
黑马252#include#include#include#include#include#includeusing namespace std;void myprint(int v){cout << v << " ";}void test01(){srand((unsigned int)time(NULL));vectorv;for (int i = 0; i < 10; i++){v.push_back(i);}//利用洗牌算法 打原创 2021-09-29 16:55:19 · 55 阅读 · 0 评论 -
常用排序算法sort
黑马251#include#include#include#include#includeusing namespace std;void test01(){vectorv;v.push_back(2);v.push_back(1);v.push_back(5);v.push_back(3);v.push_back(4);sort(v.begin(), v.end());for (vector::iterator it = v.begin(); it != v.end();原创 2021-09-29 16:48:20 · 82 阅读 · 0 评论 -
查找算法count_if
黑马250#include#include#include#includeusing namespace std;//统计内置数据类型class greater5{public:bool operator()(int val){return val > 5;}};void test01(){vectorv;for (int i = 0; i < 20; i++){v.push_back(i);}int num = count_if(v.begin(),原创 2021-09-29 15:02:55 · 60 阅读 · 0 评论 -
2021-09-29
严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2676 二进制“==”:“person”不定义该运算符或到预定义运算符可接收的类型的转换 Project2 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\xutility 5440需要重载==例: bool operator==(person &p){if (p.m_age == thi原创 2021-09-29 14:26:56 · 210 阅读 · 0 评论 -
查找算法 binary_serach
黑马248#include#include#include#includeusing namespace std;void test01(){vectorv;for (int i = 0; i < 20; i++){v.push_back(i);}bool ret=binary_search(v.begin(), v.end(),25);if (ret){ cout << "find it " << endl;}else{ cou原创 2021-09-29 14:11:46 · 66 阅读 · 0 评论 -
查找相邻元素算法
黑马247#include#include#include#includeusing namespace std;void test01(){vectorv;v.push_back(0);v.push_back(2);v.push_back(0);v.push_back(3);v.push_back(1);v.push_back(4);v.push_back(4);vector::iterator it=adjacent_find(v.begin(), v.end());i原创 2021-09-29 14:03:09 · 111 阅读 · 0 评论 -
查找算法find_if
黑马246#include#include#include#includeusing namespace std;class greaterFive{public:bool operator()(int val){return val > 5;}};class person{public:person(string name, int age){m_name = name;m_age = age;}//重载底层find知道如何对比person数据类型boo原创 2021-09-29 12:47:41 · 102 阅读 · 2 评论 -
查找算法find
黑马245#include#include#include#includeusing namespace std;//findclass person{public:person(string name,int age){m_name = name;m_age = age;}//重载底层find知道如何对比person数据类型bool operator(const person&p){if (this->m_name == p.m_name &&am原创 2021-09-29 10:42:28 · 67 阅读 · 0 评论 -
常用遍历算法 transform
黑马244#include#include#include#includeusing namespace std;class Transform{public:int operator()(int v){return v;}};class myPrint{public:void operator()(int v){cout << v << endl;}};void test01(){vectorv;for (int i = 0; i原创 2021-09-29 10:16:16 · 94 阅读 · 0 评论 -
常用遍历算法for_each
黑马243#include#include#include#includeusing namespace std;//常用遍历算法 for_each//普通函数void print01(int val){cout << val << " ";}//仿函数class print02{public:void operator()(int val){cout << val << " ";}};void test01(){原创 2021-09-28 20:02:00 · 98 阅读 · 0 评论 -
逻辑仿函数 逻辑非
黑马242#include#include#include#include#include#includeusing namespace std;//逻辑非 logical_notclass myCompare{public:bool operator()(int v1, int v2){return v1 > v2;}};void test01(){vector < bool > v;v.push_back(true);v.push_back(t原创 2021-09-28 19:49:28 · 63 阅读 · 0 评论 -
关系仿函数 大于
黑马241#include#include#include#include#include#includeusing namespace std;//大于 greaterclass myCompare{public:bool operator()(int v1,int v2){return v1 > v2;}};void test01(){vectorv;v.push_back(10);v.push_back(30);v.push_back(40);v.p原创 2021-09-28 19:42:04 · 49 阅读 · 0 评论 -
算数仿函数
黑马240 一定要包含头文件functional#include#include#include#include#include#includeusing namespace std;//negate 一元仿函数 取反仿函数void test01(){negaten;cout << n(50);}//plus 二元仿函数 加法void test02(){plusp;cout << p(10, 20);}int main(){test02()原创 2021-09-28 19:31:59 · 78 阅读 · 0 评论 -
谓词 一元谓词
黑马238#include#include#include#include#include#includeusing namespace std;//一元谓词class greaterFive{public:bool operator()(int val){return val > 5;}};//函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值void test01(){vectorv;/for (vector::iterator it =原创 2021-09-28 19:16:43 · 103 阅读 · 0 评论 -
STL函数对象基本使用
黑马237#include#include#include#include#includeusing namespace std;//函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值class myClass{public:int operator()(int v1, int v2){return v1 + v2;}};//函数对象超出普通函数的概念,函数对象可以有自己的状态class myPrint{public:myPrint(){this-原创 2021-09-28 17:10:48 · 38 阅读 · 0 评论 -
STL案例2-成员分组
黑马236#include#include#include#include#includeusing namespace std;#define chehua 0#define yanfa 2#define meishu 1class person{public:string m_name;int m_salary;};void creatPerson(vector &v){string nameSeed = “ABCDEFGHIJ”;for (int i =原创 2021-09-28 16:44:41 · 49 阅读 · 0 评论 -
set容器自定义数据排序
#include#include#includeusing namespace std;class person{public:person(string name, int age){m_name = name;m_age = age;}string m_name;int m_age;};class myCompare{public:bool operator()(int v1, int v2)const{return v1 > v2;}};void p原创 2021-09-28 09:50:50 · 65 阅读 · 0 评论 -
map的构造和赋值
黑马231#include#include#includeusing namespace std;void printMap(map<int, int>&m){for (map<int, int>::iterator it = m.begin(); it != m.end(); it++){cout << (*it).first << " " << (*it).second << endl;}}void原创 2021-09-27 16:12:08 · 686 阅读 · 0 评论 -
set容器自定义数据类型的排序
黑马230#include#include#includeusing namespace std;class person{public:person(string name, int age){m_name = name;m_age = age;}string m_name;int m_age;};class myCompare{public:bool operator()(const person &p1,const person & p2)cons原创 2021-09-27 15:26:51 · 101 阅读 · 0 评论 -
const_volatile错误
严重性 代码 说明 项目 文件 行 禁止显示状态错误 C3848 具有类型“const myCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool myCompare::operator ()(int,int)” Project2 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\xutility 1516解决办法:在指定函数后加原创 2021-09-27 14:38:24 · 252 阅读 · 0 评论 -
set容器指定数据类型的默认排序
黑马229#include#include#includeusing namespace std;class myCompare{public:bool operator()(const int& v1, const int& v2)const//第一个()是重载() 第二个是参数列表{return v1 > v2;}};void test01(){sets;s.insert(10);s.insert(40);s.insert(30);s.inse原创 2021-09-27 14:36:05 · 416 阅读 · 0 评论 -
pair队组的创建
黑马228#include#include#includeusing namespace std;void test01(){//第一种方式创建pair<string, int>p(“tom”, 20);cout << “name:” << p.first << " age:" << p.second << endl;//第二种方式创建队组pair<string, int>p2 = make_pair原创 2021-09-27 14:13:32 · 98 阅读 · 0 评论 -
set与multiset的区别
黑马227#include#include#includeusing namespace std;//set容器不允许插入重复值void test01(){sets;pair<set::iterator ,bool> ret=s.insert(10);if (ret.second){cout << “第一次插入成功” << endl;}else{ cout << "第一次插入失败" << endl;}ret =原创 2021-09-27 13:58:45 · 156 阅读 · 0 评论 -
set容器的查找和统计
黑马226#include#include#includeusing namespace std;void printSet(sets){for (set::iterator it = s.begin(); it != s.end(); it++){cout << *it << " ";}cout << endl;}void test01(){sets;s.insert(10);s.insert(30);s.insert(20);原创 2021-09-27 13:49:00 · 103 阅读 · 0 评论 -
set插入和删除
黑马225#include#include#includeusing namespace std;void printSet(sets){for (set::iterator it = s.begin(); it != s.end(); it++){cout << *it << " ";}cout << endl;}void test01(){sets;s.insert(10);s.insert(30);s.insert(20);原创 2021-09-27 11:12:19 · 78 阅读 · 0 评论 -
set容器的大小和交换
黑马224#include#include#includeusing namespace std;void printSet(sets){for (set::iterator it = s.begin(); it != s.end(); it++){cout << *it << " ";}cout << endl;}//大小void test01(){sets;s.insert(10);s.insert(30);s.insert(原创 2021-09-27 10:51:26 · 45 阅读 · 0 评论 -
set容器的构造和赋值
黑马223#include#include#includeusing namespace std;void printSet(sets){for (set::iterator it = s.begin(); it != s.end(); it++){cout << *it << " ";}cout << endl;}void test01(){sets;s.insert(10);s.insert(30);s.insert(20);原创 2021-09-27 10:35:11 · 68 阅读 · 0 评论 -
排序的事例
黑马222#include#include#includeusing namespace std;class person{public:person(string name, int age,int height){m_name = name;m_age = age;m_height = height;}string m_name;int m_age;int m_height;};//指定排序规则bool comparePerson(person &p1,pe原创 2021-09-26 17:01:54 · 44 阅读 · 0 评论 -
list容器的反转和排序
黑马221#include#include#includeusing namespace std;void printList(const list&l){for (list::const_iterator it = l.begin(); it != l.end(); it++){cout << *it << " ";}cout << endl;}bool myCompare(int v1, int v2){//降序 就让第一个数大原创 2021-09-26 16:40:17 · 110 阅读 · 0 评论 -
list容器数据存取
黑马220#include#include#includeusing namespace std;void test(){listl1;l1.push_back(10);l1.push_back(20);l1.push_back(30);l1.push_back(40);//l1[0] 不可以使用[]进行访问//l1.at(0) 不可以使用[]进行访问//原因是list本质是链表,不是用连续空间存储数据,迭代器也是不支持随机访问的cout << "第一个元素是" &原创 2021-09-26 15:44:14 · 115 阅读 · 0 评论 -
list容器的删除 插入
黑马219#include#include#includeusing namespace std;//list容器的插入和删除void printList(list&L){for (list::iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;}void test01(){listL;//尾插L.push_back(10原创 2021-09-26 15:32:42 · 101 阅读 · 0 评论 -
list容器-赋值和交换
黑马218#include#include#include#includeusing namespace std;void printList(list&l){for (list::iterator it = l.begin(); it != l.end(); it++){cout << *it << " ";}cout << endl;}void test01(){listl1;l1.push_back(10);l1.pus原创 2021-09-26 08:45:04 · 69 阅读 · 0 评论 -
list构造函数
黑马216#include#include#include#includeusing namespace std;//list函数构造void printList(const list&l){for (list::const_iterator it = l.begin(); it != l.end(); it++){cout << *it << " ";}cout << endl;}void test01(){listl1;//原创 2021-09-25 23:06:54 · 108 阅读 · 0 评论 -
queue的常用接口
黑马214#include#include#include#includeusing namespace std;class person{public:person(string name, int age){m_name = name;m_age = age;}string m_name;int m_age;};void test01(){queueq;person p1("tangseng",30);person p2("sunwukong", 50);pe原创 2021-09-25 20:46:25 · 60 阅读 · 0 评论 -
栈的常用接口
黑马211#include#include#include#includeusing namespace std;void test01(){stacks;s.push(10);s.push(20);s.push(30);s.push(40);cout << “栈的大小” << s.size() << endl;//只要栈不为空,查看栈顶,并且执行出栈操作while (!s.empty()){cout << “栈顶元素为:”原创 2021-09-25 15:09:38 · 92 阅读 · 0 评论 -
STL案例1
黑马210#include#include#include#include#include#includeusing namespace std;class person{public:person(string name,int age){m_name = name;m_age = age;}string m_name;int m_age;};void creatPerson(vector& v){for (int i = 0; i < 5; i++原创 2021-09-25 13:39:09 · 50 阅读 · 0 评论