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)

大家都在看

  • 理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考

    理想汽车在 Hadoop 时代的技术架构 首先简单回顾下大数据技术的发展,基于我个人的理解,将大数据的发展分了4个时期: 第一个时期: 2006 年到 2008 年。2008 年左…

    Linux 2023年6月14日
    098
  • SQLI-LABS(Less-9、10)

    Less-9(GET-Blind-Time based-Single Quotes) 打开 Less-9页面,可以看到页面中间有一句 Please input the ID as …

    Linux 2023年6月6日
    0102
  • [云原生]Kubernetes-实战入门(第4章)

    一、Namespace 二、Pod 三、Label 四、Deployment 五、Service 参考: Kubernetes(K8S) 入门进阶实战完整教程,黑马程序员K8S全套…

    Linux 2023年6月13日
    0116
  • jmeter beanshell 从文件中获取随机参数

    loadruner 参数化有个功能,可以设置在脚本每次出现参数时,自动更换参数值。在做jmeter自动化测试过程中,同一个请求中出现多个参数值,如一个接口可以添加n个信息的请求 […

    Linux 2023年5月28日
    0215
  • 关于最近公司一个业务系统的性能优化方案

    一个刚上线的IT系统,往往负载压力不大,所以不会存在什么性能问题。这时,人们大多只关心系统的功能性和用户体验。但是,随着时间推移,用户量和数据量都比刚上线的时候要多很多,高并发和大…

    Linux 2023年6月6日
    0102
  • postgres 错误duplicate key value violates unique constraint 解决方案

    把当前最大的id做为当前的id自增起始数运行下面的SQL就行了 SELECT setval(‘tablename_id_seq’, (SELECT MAX(id) FROM tab…

    Linux 2023年6月14日
    0105
  • 部署前后端为独立的 Docker 节点

    在『服务器部署 Vue 和 Django 项目的全记录』一文中,介绍了在服务器中使用 Nginx 部署前后端项目的过程。然而,当 Web 应用流量增多时,需要考虑负载均衡、流量分发…

    Linux 2023年6月7日
    0116
  • go-切片的追加

    // The append built-in function appends elements to the end of a slice. If // it has suffi…

    Linux 2023年6月13日
    080
  • Linux 用户密码不能设置问题

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0126
  • Redis基础

    1.简介 Redis (远程字典服务器)是一 个开源的、使用C语言编写的NoSQL数据库。Redis基于内存运行并支持持久化,采用 key-value (键值对)的存储形式,是目前…

    Linux 2023年6月13日
    084
  • 多级缓存-redis缓存预热

    冷启动:服务刚刚启动时,Redis中并没有缓存,如果所有商品数据都在第一次查询时添加缓存,可能会给数据库带来较大压力。 缓存预热:在实际开发中,我们可以利用大数据统计用户访问的热点…

    Linux 2023年5月28日
    090
  • kubeadm 加入新master 报错

    error execution phase check-etcd: error syncing endpoints with etcd: context deadline exce…

    Linux 2023年6月14日
    0126
  • vue3中iview框架初始值赋值问题

    问题:今天有个小伙伴说我们前端有个页面异常奇怪,没有显示数据。 开发小伙伴进行查询之后(非专业前端),明明进行了绑定,页面死活无法渲染,归属于灵异事件了,对于这种灵异事件,我总会想…

    Linux 2023年6月7日
    090
  • 基于AnolisOS8.6安装OceanBase数据库

    网络配置 cd /etc/sysconfig/network-scripts/ ls vi ifcfg-ens33 修改网络配置 TYPE=Ethernet PROXY_METHO…

    Linux 2023年6月7日
    0105
  • redis缓存数据库简单使用

    1、在Linux上安装与配置 -最新:7.0 -最稳定版本:6.x-讲课:5.x-企业里:3.x,4.x,5.x 6.x(极少数公司在用)-windows:3.x,5.x 1 速度…

    Linux 2023年6月14日
    097
  • Mysql 安全加固经验总结

    本文为博主原创,转载请注明出处: 1.内网部署Mysql mysql 数据库在使用过程中,需要给服务提供连接和访问的权限,而不需要进行公网连接和访问,所以在安全环境和现网环境部署m…

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