algorithm 头文件参考

定义执行算法的 C++ 标准库容器模板函数。

<algorithm></algorithm> 库还使用该 #include <initializer_list></initializer_list> 语句。

sort将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。

sort 将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。

const _RanIt _First, const _RanIt _Last

int main()
{
  int num[55] = { 0 };
  num[0] = 1;
  num[1] = 11;
  num[2] = 5;
  num[3] = 8;
  num[5] = 12;
  num[6] = 19;
  sort(num, num + 6);
  for (int i = 0; i <=6; i++) { cout << num[i] ""; } endl; return 0; }< code></=6;>

const _RanIt _First, const _RanIt _Last, _Pr _Pred

_Pr _Pred

用户定义的谓词函数对象,定义排序中连续元素要满足的比较条件。 该二元谓词采用两个参数,并且,如果两个参数按顺序排序,将返回 true,否则将返回 false。 该比较器函数必须对序列中的元素对进行严格弱排序。

bool cmp(const int& a, const int&b) {
  return a > b;
}

int main()
{
  int num[55] = { 0 };
  num[0] = 1;
  num[1] = 11;
  num[2] = 5;
  num[3] = 8;
  num[5] = 12;
  num[6] = 9;
  //greater<int>() &#x964D;&#x5E8F;&#x7684;&#x8C13;&#x8BED; &#x6309;&#x964D;&#x5E8F;&#x6392;&#x5E8F;
  sort(num, num + 6,greater<int>());
  sort(num, num + 6,cmp);
  for (int i = 0; i <=6; i++) { cout << num[i] ""; } endl; return 0; }< code></=6;></int></int>

自定义排序 必须给一个排序方法 ,或者你必须给他重载一个 < 否则会报错

也可以 在类中进行操作符重载

bool operator< (const xxx& b)const {

return this->s > b.s;

#include <iostream>
#include <string>
#include <algorithm>
using   namespace std;

struct xxx
{
  string name;
  int num, age, s;

};
// 3x4 =12  20&#x4F4D;4&#x7684;&#x500D;&#x6570;32

//&#x5982;&#x679C;
bool cmp(const xxx& a, const xxx& b) {
  return a.s > b.s;
}

int main()
{
  xxx a_abs64[205];
  a_abs64[0].name = "xxxx";
  a_abs64[0].num = 1;
  a_abs64[0].age = 18;
  a_abs64[0].s = 100;
  a_abs64[1].name = "aaa";
  a_abs64[1].num = 2;
  a_abs64[1].age = 9;
  a_abs64[1].s = 90;
  a_abs64[2].name = "bbbb";
  a_abs64[2].num = 3;
  a_abs64[2].age = 22;
  a_abs64[2].s = 80;
  sort(a_abs64, a_abs64 + 2, cmp);
  //&#x81EA;&#x5B9A;&#x4E49;&#x6392;&#x5E8F; &#x5FC5;&#x987B;&#x7ED9;&#x4E00;&#x4E2A;&#x6392;&#x5E8F;&#x65B9;&#x6CD5; ,&#x6216;&#x8005;&#x4F60;&#x5FC5;&#x987B;&#x7ED9;&#x4ED6;&#x91CD;&#x8F7D;&#x4E00;&#x4E2A;<
  for (int i = 0; i <= 2; i++) { cout << a_abs64[i].num " a_abs64[i].name "" a_abs64[i].s endl; } return 0; }< code></=></algorithm></string></iostream>

Original: https://www.cnblogs.com/yijieyufu/p/16423108.html
Author: Aquiet
Title: algorithm 头文件参考

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581812/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【微信篇】电脑版微信的照片视频文件位置变化

    新版的微信视频图片更新了位置,感觉有好有坏吧,好的方面就是以后查找视频、图片、文档等可能更方便;不好就是越更新占用体积越大,还多很多数据,不懂是否流氓?!—【蘇小沐】 …

    Linux 2023年6月13日
    0115
  • SSH 完全教程 2

    SSH 默认采用密码登录,这种方法有很多缺点,简单的密码不安全,复杂的密码不容易记忆,每次手动输入也很麻烦。密钥登录是b比密码登录更好的解决方案。 密钥是什么 密钥(key)是一个…

    Linux 2023年6月7日
    062
  • vue 中,echarts的使用,简单入门

    vue 中,echarts的使用,简单入门 原作者哔哩哔哩视频 感谢 多多支持效果图 首先创建一个页面组件,创建三个div,分别来使用折线图,柱状图,扇形图 //折线图 //柱状图…

    Linux 2023年6月7日
    095
  • MySQL日志管理之二进制日志

    二进制日志采用二进制格式(01)来存储日志信息(导致数据发生变化的SQL语句),二进制日志记录整个数据库的修改过程。 MySQL的二进制日志主要就是起一个备份的功能。二进制日志≈备…

    Linux 2023年6月7日
    092
  • shell脚本中 /dev/null 的用途

    /dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同…

    Linux 2023年6月13日
    088
  • dockerfile

    基础结构 指令 from label maintainer run cmd export env add copy entrypoint volume user workdir o…

    Linux 2023年6月7日
    081
  • eclipse中如何打jar包并使用

    https://blog.csdn.net/qq_44985985/article/details/103992138 Original: https://www.cnblogs….

    Linux 2023年6月13日
    0118
  • Linux系统查看磁盘可用空间的5个命令

    大家好,我是良许。 工作中,经常会遇到磁盘爆满的情况,尤其是一台服务器运行了 N 年之后,里面会充满各种各样垃圾文件,比如:编译产生的中间文件、打包的镜像文件、日志文件,等等。 别…

    Linux 2023年6月14日
    082
  • 支付宝沙箱

    支付宝支付 ## 支付宝的沙箱环境 – [密钥生成文档](https://opendocs.alipay.com/open/291/105971): 公钥(给别人,方便其他人验证某…

    Linux 2023年6月8日
    089
  • Typora详细教程以及下载

    发现一篇非常不错的 Typora 教程,分享给大家。 原文链接:https://www.cnblogs.com/hyacinthLJP/p/16123932.html 作者:MEl…

    Linux 2023年6月7日
    0131
  • C语言—>指针

    当两个指针 p1, p2相减时, p2-p1就是从 p1到 p2,不包含 p2的元素个数,结果的类型是 ptrdiff_t #include int main() { int a[…

    Linux 2023年6月8日
    080
  • jmeter接口关联-后置处理器(正则表达式)

    接口测试通过会涉及到两个接口之间的关联,前一个接口的返回数据作为到下一个接口的入参,这时候就需要用到后置处理器,其中有正则表达式提取器、XPath提取器、JSON提取器,今天先示范…

    Linux 2023年6月8日
    070
  • HRShell:Flask构建的HTTPS HTTP反向Shell

    https://www.freebuf.com/sectool/212678.html 纸上得来终觉浅,绝知此事要躬行! Original: https://www.cnblogs…

    Linux 2023年5月28日
    0100
  • Golang 实现 Redis(5): 使用跳表实现 SortedSet

    本文是使用 golang 实现 redis 系列的第五篇, 将介绍如何使用跳表实现有序集合(SortedSet)的相关功能。 跳表(skiplist) 是 Redis 中 Sort…

    Linux 2023年5月28日
    085
  • 并查集详解 图解引入到实现| Disjoint Sets details, intro to implementation with figures.

    Introduction of Disjoint Sets It’s easy to tell whether someone you know is your rel…

    Linux 2023年6月13日
    097
  • SPRINGBOOT(38)整合(9)redis

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/qiu-hua/p/16552545.htmlAutho…

    Linux 2023年5月28日
    085
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球