sort(); 位于C++

头文件 #include<algorithm>中

数组排序(从小到大,从大到小)

结构体排序(数字参数从大到小...字符串为参数 字典序....)

代码示例:(直接复制运行对比结果看源码)

#include<iostream>

#include<algorithm>

using namespace std;
// 对下文所有函数进行声明

struct node
{
  int sum;
  char s[10];
} str[10];


int cmpn1(node a,node b)
{
  return a.sum>b.sum;
}


int cmpn2(node a,node b)
{
  return a.s>b.s;
}


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

int main()
{
  int a[100]= {1,3,6,9,4,2,3,6,7,10};
  //一共10个
  cout<<"a数组最初状态\n"<<endl;
  for(int i=0; i<10; i++)
    cout<<a[i]<<endl;
  //需要排序首位置加上需排序的位长
  cout<<"默认是从大到小排序\n"<<endl;
  sort(a,a+10);
  for(int i=0; i<10; i++)
    cout<<a[i]<<endl;
  cout<<endl;
  cout<<"引入cmp()从大到小\n"<<endl;
  sort(a,a+10,cmp);
  for(int i=0; i<10; i++)
    cout<<a[i]<<endl;
  cout<<endl;
  // 结构体赋值
  for(int i=0; i<10; i++)
  {
    str[i].sum=i;
    str[i].s[0]='a'+i;
  }
  cout<<"以sum为参数 调用cmp1进行从大到小\n"<<endl;
  sort(str,str+10,cmpn1);
  for(int i=0; i<10; i++)
    cout<<str[i].sum<<endl;
  cout<<endl;
  cout<<"经过sum作为参数排序后,字符串目前状态\n"<<endl;
  for(int i=0; i<10; i++)
    cout<<str[i].s<<endl;
  cout<<endl;
  cout<<"以s为参数 调用cmp2进行字典序\n"<<endl;
  sort(str,str+10,cmpn2);
  for(int i=0; i<10; i++)
    cout<<str[i].s<<endl;
  cout<<endl;

  return 0;

}

sort();对结构体数组的排序的更多相关文章

  1. 关于priority_queue和sort()对结构体数组的排序

    知乎的这个答案很清晰https://www.zhihu.com/question/35736022 #include <iostream> #include <algorithm&g ...

  2. HDU - 1789 Doing Homework again(贪心) ~~~学了一波sort对结构体排序

    题目中因为天数和分数是对应的,所以我们使用一个结构体来存分数和截止如期. 一开始做这道题的时候,很自然的就想到对天数排序,然后天数一样的分数从大到小排序,最后WA了之后才发现没有做到"舍小取 ...

  3. sort+结构体实现二级排序

    之前介绍的sort函数由于其效率较高,使用较为简单让我用起来那叫一个爽,今天再写一篇使用sort+结构体实现二级排序的方法. 还是先想个问题吧,比如我想输入5个同学的名字和身高,然后得到他们身高的降序 ...

  4. qsort 与sort 对结构体排序实例

    qsort 与sort 对结构体排序实例 #include<bits/stdc++.h> using namespace std; typedef struct { string book ...

  5. golang结构体数组

    转自: https://www.liaotaoo.cn/200.html package main import "fmt" type student struct{ id int ...

  6. C#调用C++DLL传递结构体数组的终极解决方案

    在项目开发时,要调用C++封装的DLL,普通的类型C#上一般都对应,只要用DllImport传入从DLL中引入函数就可以了.但是当传递的是结构体.结构体数组或者结构体指针的时候,就会发现C#上没有类型 ...

  7. 绝对好文C#调用C++DLL传递结构体数组的终极解决方案

    C#调用C++DLL传递结构体数组的终极解决方案 时间 2013-09-17 18:40:56 CSDN博客相似文章 (0) 原文  http://blog.csdn.net/xxdddail/art ...

  8. HDU 2555 陷阱(模拟,结构体数组)

    这道题目意思很明白,有不确定的数据沙包和陷阱,还要排序···那就必须要用结构体+数组 /* 在地面上有N 个大小不等的长方形陷阱,每个陷阱的周长各不相同,每个参赛者都有一个沙包,闭上眼睛把它扔向地面, ...

  9. Problem T: 结构体--学生信息排序

    Problem T: 结构体--学生信息排序 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2219  Solved: 1305[Submit][Sta ...

随机推荐

  1. CTeX入门出坑

    终于出了入门坑.大致风格可以了.赶紧记下来. \documentclass{ctexbook} \usepackage{amsmath} \usepackage{amsfonts} \usepacka ...

  2. BZOJ4836 [Lydsy1704月赛]二元运算 分治 多项式 FFT

    原文链接http://www.cnblogs.com/zhouzhendong/p/8830036.html 题目传送门 - BZOJ4836 题意 定义二元运算$opt$满足 $$x\ opt\ y ...

  3. 前端技术之--HTML

    1.一套规则,浏览器认识的规则. 2.开发者: 学习Html规则 开发后台程序: - 写Html文件(充当模板的作用) ****** - 数据库获取数据,然后替换到html文件的指定位置(Web框架) ...

  4. 初学Python的一些细节

    一.python的数据类型 1.python的基本数据类型包括数值数据类型和字符串数据类型:基本数据类型的特点是不允许改变,如果改变基本数据类型的值,会导致内存的重新分配. int 整形 二进制    ...

  5. Do-Now—团队Scrum 冲刺博客二

    各个成员今日完成的任务 侯泽洋:完成奖励页面设计,完成奖励从云端拉取到本地:完成奖励从云端拉取到本地 周亚杰:完成个人中心页面设计,登录界面美化:注册登录界面美化 王志伟:完成倒计时功能,并对页面进行 ...

  6. 根据屏幕自适应宽度:@media

    @media screen and (min-width: 1490px){ .w1224{ width: 1400px !important; }}@media screen and (max-wi ...

  7. js数组元素,获得某个元素的最大值。

    var rows=[{项次:1},{项次:2},{项次:3}]; Math.max.apply(Math, rows.map(function (o) { return o.项次 })) //结果:3 ...

  8. apache-2.4.6 mod_bw-0.92 实现限速上传或下载

    下载 mod_bw  wget http://ivn.cl/files/source/mod_bw-0.92.tgz 解压到mod_bw tar -zxvf mod_bw-0.92.tgz -C mo ...

  9. 我了解到的新知识之----如何使用Python获取最新外汇汇率信息

    这个需求本来是来源于公司同事工作中需求,用户需要使用数据分析工具Power BI抓取多页的中国银行官网上当天的外汇数据.但是没能研究出来. 我就开始在网络上找关于使用python来抓取当天汇率的案例分 ...

  10. es7 async/await使用

    先创建一个promise对象,里面执行一个异步函数 function fetchUser() { return new Promise((resolve, reject) => { fetch( ...