数字排序

  • 题目描述
    • 源代码
    • 关于这题

题目描述

源代码

#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
int n;
const int N = 1005;
int rnum[N + 1];
struct number
{int num;//数字int count;//次数
}num[N + 1];
bool cmp(number a, number b)
{if (a.count == b.count){return a.num < b.num;  //计数值一样谁小谁排在前面}return a.count > b.count;//计数值不一样 谁大谁排在前面
}
int main()
{cin >> n;memset(num, 0, sizeof(num));int i, nindex;for (i = 1; i <= n; i++){cin >> nindex;rnum[nindex]++;}for (int i = 1; i <= n; i++){num[i].count = 0;}int ncount = 0;for (i = 1; i <= N; i++)//根据rnum的下标及统计的次数 初始化num数组{if (rnum[i] != 0){num[ncount].num = i;num[ncount].count = rnum[i];ncount++;}}sort(num,num+ncount,cmp);for (i = 0; i < ncount; i++){cout << num[i].num << " " << num[i].count << endl;}return 0;
}

关于这题

这道题的难点其实在于在记录好了之后 如何排序
这里用到了sort 排序 默认情况下是升序 我们这里 给他定义了一种排序方法cmp这个为解题关键
sort(num,num+ncount,cmp);
bool cmp(number a, number b)
{
if (a.count == b.count)
{
return a.num < b.num; //计数值一样谁小谁排在前面
}
return a.count > b.count;//计数值不一样 谁大谁排在前面
}

*6-1 CCF 2015-03-2 数字排序相关推荐

  1. mysql将字符串字段转为数字排序或比大小

    SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...

  2. BitSet 数字排序

    2019独角兽企业重金招聘Python工程师标准>>> BitSet 数字排序 博客分类: java package tree2; import java.util.BitSet;p ...

  3. Contest2071 - 湖南多校对抗赛(2015.03.28)

    Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...

  4. 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序

    1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...

  5. Mysql字符串截取 mysql将字符串字段转为数字排序或比大小

    SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...

  6. LeetCode 2191. 将杂乱无章的数字排序(自定义排序)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的整数数组 mapping ,它表示一个十进制数的映射规则,mapping[i] = j 表示这个规则下将数位 i 映射为数位 j ...

  7. 生活中c语言排序案例,C语言之数字排序-基于冒泡排序法的一些案例(对未知数量的数字进行排序)...

    C语言之数字排序 在学习C语言的时候遇到了几个比较基础的排序问题,又结合了之前的处理方法.觉得在这个需要再系统地进行复习一下. 当我们在初学C语言的时候,我们都会结合三个数字的排序来理解计算机处理问题 ...

  8. 基于Hadoop 2.6.0运行数字排序的计算

    上个博客写了Hadoop2.6.0的环境部署,下面写一个简单的基于数字排序的小程序,真正实现分布式的计算,原理就是对多个文件中的数字进行排序,每个文件中每个数字占一行,排序原理是按行读取后分块进行排序 ...

  9. CCF201503-2 数字排序

    问题描述: 试题编号: 201503-2 试题名称: 数字排序 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺 ...

最新文章

  1. Ubuntu 12.10 下 详细Netbeans安装配置篇 (下)
  2. linux工科软件,linux基础网络工具学习笔记
  3. 机房冷热通道系统整体解决方案
  4. iPhone 越狱开发相关
  5. HarmonyOS之深入解析自定义组件与布局的实现
  6. 分布式缓存Redis应用场景解析
  7. text-overflow:ellipsis溢出显示省略号兼容所有浏览器的解决办法
  8. 【异常】Unable to instantiate SparkSession with Hive support because Hive classes a
  9. OsharpNS轻量级.net core快速开发框架简明入门教程-多上下文配置(多个数据库的使用)...
  10. 超强免费OCR文字识别工具推荐
  11. java打印list_java打印list中的元素
  12. 虚拟机安装Mac OS系统
  13. 使用Service Worker发送Push推送
  14. 木门代理商利用微信营销让自己的事业更上一层楼
  15. oracle存储过程无效字符_ORA-20003 , procedure存储过程失效问题
  16. 《ERP高级计划》书的解读- APS算法分析之四约束规划CP(蔡颖)(转)
  17. 多波束测深系统工作原理及组成,多波束在无人船上的应用
  18. Linux 高并发服务器开发
  19. Hibiscus的脑机接口学习周报(2023/1/23~2023/1/29)
  20. OKR工作法——宏观总结

热门文章

  1. 信号(进程间的通信方式)
  2. GitHub新漏洞!4行代码轰炸出6千万封电子邮件
  3. MyEclipse 的注册码 破解步骤
  4. acdsee14.0许可密钥使用方法:
  5. 逻辑英语结构【重点】
  6. 打印俄文字母表java,?俄语字母表、俄文键盘、傻瓜式读音法、书写法大全【一起学俄语】...
  7. 学习笔记:在Ubuntu16.04系统内安装Petalinux软件(包括如何安装Ubuntu16.04和相关支持库 详解)
  8. 计算机未来规划范文200,计算机职业规划书范文
  9. 计算机二级关于ppt的题目,全国计算机二级题库Ppt题目考点.doc
  10. 【Java选择语句(if,else,switch)】