关系类算法函数

news/2024/11/13 4:21:00/

关系类算法函数

  • equal 比较算法
  • include (是否包含)
  • lexicographical_compare(比较序列)
  • 最大值(max_element)
  • 最小值(min_element)
  • mismatch(找到第一个不同位置的)

equal 比较算法
includes 是不是包含
lexicographical_compare 比较序列(类似于C++字符串的比较)
max 最大值 max_element
min 最小值 min_element
mismatch(比较两个容器,第一次出现不同的地方)

equal 比较算法

这里打印出布尔类型 true ,false
要使用格式控制的头文件 iomanip
采用 boolalpha的方式

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<functional>using namespace std;int main()
{vector<int> first{ 1, 2, 3, 4, 5 };vector<int> second{ 1, 2, 3 ,4, 5, 6,7 };//1.equal 比较算法cout << boolalpha << equal(first.begin(), first.end(), second.begin(), second.end());return 0;
}

include (是否包含)

首先的条件是:必须要是有序的容器,否则程序会报错

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<functional>using namespace std;int main()
{vector<int> first{ 1, 2, 3, 4, 5 };vector<int> second{ 1, 2, 3 ,4, 5, 6,7 };//2. include 是否包含的算法cout << includes(first.begin(), first.end(), second.begin(), second.end());return 0;
}

打印的结果是false 或者

lexicographical_compare(比较序列)

第一个小于第二个,返回true
第一个大于第二个,返回false

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<functional>using namespace std;int main()
{vector<int> first{ 1, 2, 3, 4, 5 };vector<int> second{ 1, 2, 3 ,4, 5, 6,7 };//3.lexicograhical_comparecout << lexicographical_compare(first.begin(), first.end(), second.begin(), second.end());return 0;
}

最大值(max_element)

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<functional>using namespace std;int main()
{vector<int> first{ 1, 2, 3, 4, 5 };vector<int> second{ 1, 2, 3 ,4, 5, 6,7 };//4. 最大值  cout << max(1, 2) << endl;cout << *max_element(first.begin(), first.end()) << endl;return 0;
}

最小值(min_element)

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<functional>using namespace std;int main()
{vector<int> first{ 1, 2, 3, 4, 5 };vector<int> second{ 1, 2, 3 ,4, 5, 6,7 };//5.最小值cout << min(4, 3) << endl;cout << *min_element(second.begin(), second.end()) << endl;return 0;
}

mismatch(找到第一个不同位置的)

如果程序崩溃了,看看两个迭代器的大小是否一样
同时,
这个mismatch的返回值类型很特殊
为pair<迭代器类型, 迭代器类型>

//6. mismatch//返回值类型为 pair<迭代器类型,迭代器类型>	 //pair<vector<int> :: iterator ,vector<int> :: iterator>auto m = mismatch(first.begin(), first.end(), second.begin(), second.end());cout << *m.first << endl;cout << *m.second << endl;

http://www.ppmy.cn/news/99730.html

相关文章

C++爱好者的自我修养(15):数据类型转换(千字总结)

数据类型转换 1.引言2.C Primer介绍的转换规则2.1 初始化和赋值进行的转换2.2 以{}方式初始化时进行的转换&#xff08;C11&#xff09;2.3 表达式中的转换2.4 传递参数时的转换2.5 强制类型转换 3.强制类型转换运算符&#xff08;来自GPT-3.5-turbo&#xff09;3.1 static_cas…

LockSupport

LockSupport是一个编程工具类&#xff0c;主要是为了阻塞和唤醒线程用的。使用它我们可以实现很多功能&#xff0c;今天主要就是对这个工具类的讲解&#xff0c;希望对你有帮助&#xff1a; 一、LockSupport简介 1、LockSupport是什么 刚刚开头提到过&#xff0c;LockSuppor…

115.删除有序数组中的重复项 removeDuplicatesFromSortedArray

文章目录 题目描述解题思路代码详解运行截图 题目描述 题目链接 给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元…

Postman新手教程

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 目录 文章目录 一、Postman背景介绍 二、Postman下载地址 三、Postman简单使用 一、Postman背景介绍 Postman是Chrome插件类产品中的代表产品之一&#xff0c;这款网页调试工具不仅可以调…

数据结构——二叉树

思维导图&#xff1a; 目录 一&#xff0c;什么是二叉树 二 &#xff0c;二叉树的构建 2.1二叉树的内部结构 2.2手撕二叉树 2.3求二叉树的节点个数 2.3计算二叉树的叶子节点 2.4二叉树的高度 2.5计算第K层有多少个节点 2.6 二叉树的打印 2.6寻找二叉树的节点值 2.7二叉…

嵌入式C语言关键字(const、static、volitatile)

const关键字 C语言中const修饰通常是用来声明常量&#xff0c;并声明常量的值不能修改。当涉及指针变量时情况就会变得更加有趣&#xff0c;需要特别注意。因为有两样东西都有可能成为常量—一种是用来限定指向的空间的值不可修改&#xff1b;另一种是限定指针不可修改。下面是…

牛客HJ43迷宫问题 - 创建智能体通过策略自己找路

文章目录 问题描述思路代码C 问题描述 描述 定义一个二维数组 N*M &#xff0c;如 5 5 数组下所示&#xff1a; int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫&#xff0c;其中的1表示墙壁&#xff0…

C# | 线性回归算法的实现,只需采集少量数据点,即可拟合整个数据集

C#线性回归算法的实现 文章目录 C#线性回归算法的实现前言示例代码实现思路测试结果结束语 前言 什么是线性回归呢&#xff1f; 简单来说&#xff0c;线性回归是一种用于建立两个变量之间线性关系的统计方法。在我们的软件开发中&#xff0c;线性回归可以应用于数据分析、预测和…