- 博客(69)
- 收藏
- 关注
原创 常用集合算法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
186
原创 常用集合算法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
191
原创 常用集合算法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
185
原创 常用算术生成算法fill
黑马259#include#include#include#include#includeusing namespace std;void myprint(int v){cout << v << " ";}void test01(){vectorv1;v1.resize(10);fill(v1.begin(), v1.end(), 100);for_each(v1.begin(), v1.end(), myprint);}int main()
2021-09-30 10:38:42
140
原创 常用数据生成算法accumulate
黑马258#include#include#include#includeusing namespace std;void myprint(int v){cout << v << " ";}void test01(){vectorv1;for (int i = 0; i <= 100; i++){v1.push_back(i);}int total=accumulate(v1.begin(), v1.end(), 0);cout <&
2021-09-30 10:33:17
277
原创 常用拷贝和复制算法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
111
原创 常用拷贝和替换算法replace_if
黑马257#include#include#include#include#include#includeusing namespace std;class greater5{public:bool operator()(int val){return val>=5;}};void myprint(int v){cout << v << " ";}void test01(){vectorv1;for (int i = 0; i &
2021-09-30 09:43:28
103
原创 排序算法-洗牌算法
黑马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
89
原创 常用排序算法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
142
原创 查找算法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
86
原创 查找算法count
黑马248#include#include#include#includeusing namespace std;//统计内置数据类型void test01(){vectorv;for (int i = 0; i < 20; i++){v.push_back(i);}v.push_back(2);v.push_back(1);v.push_back(3);int num = count(v.begin(), v.end(),1);cout << “1出现
2021-09-29 14:29:46
70
原创 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
294
原创 查找算法 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
92
原创 查找相邻元素算法
黑马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
133
原创 查找算法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
174
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
105
原创 常用遍历算法 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
127
原创 常用遍历算法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
131
原创 逻辑仿函数 逻辑非
黑马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
83
原创 关系仿函数 大于
黑马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
75
原创 算数仿函数
黑马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
111
原创 谓词 二元谓词
黑马239#include#include#include#include#include#includeusing namespace std;//二元谓词class myCompare{public:bool operator()(int val1,int val2){return val1 > val2;}};//函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值void test01(){vectorv;v.push_back(10);
2021-09-28 19:24:05
179
原创 谓词 一元谓词
黑马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
128
原创 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
67
原创 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
76
原创 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
92
原创 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
741
原创 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
142
原创 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
313
原创 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
464
原创 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
148
原创 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
198
原创 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
153
原创 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
113
原创 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
79
原创 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
107
原创 排序的事例
黑马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
75
原创 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
163
原创 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
146
原创 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
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人