数据结构实验之排序四:寻找大富翁__咳咳咳,还魂篇!!
数据结构实验之排序四:寻找大富翁
Problem Description
2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。
Input
首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要找出的大富翁数目,接下来给出N个人的个人资产,以万元为单位,个人资产数字为正整数,数字间以空格分隔。
Output
一行数据,按降序输出资产排前M位的大富翁的个人资产值,数字间以空格分隔,行末不得有多余空格。
Example Input
6 3 12 6 56 23 188 60
Example Output
188 60 56
Hint
请用堆排序完成。
Author
xam
要求用堆排,就用堆排啊。
先传个头像以示敬意,哈哈咳~哈哈哈~
正文:::
#include <iostream>//头文件别写多咯!!防止超时
using namespace std;
int heap[12], n, m;
void cheap(int l, int r)//建立一个堆~
{
int j = 2*l;
while(j<=r)
{
if(j<r && heap[j]<heap[j+1])//大根~保证堆的右下角是最小的数~~~
{
int k = heap[j];
heap[j] = heap[j+1];
heap[j+1] = k;
}
if(heap[j]>heap[l])//调整位置
{
*heap = heap[j];
heap[j] =heap[l];
heap[l] = *heap;
l = j;
j *= 2;
}
else break;
}
}
int main()
{
cin.sync_with_stdio(false);取消*************,也是防止超时,不懂的自行百度
while(cin>>n>>m)
{
int i;
for(i = 1;i<=m;i++)
cin>>heap[i];
for(i = m/2;i>=1;i--)
cheap(i, m);
for(i = m+1;i<=n;i++)
{
int k;
cin>>k;
if(k>heap[m])
{
heap[m] = k;
for(int j = m/2; j>=1;j--)
cheap(j, m);
}
}
for(i = 1;i<m;i++)
cout<<heap[i]<<' ';
cout<<heap[m]<<endl;
}
return 0;
}
数据结构实验之排序四:寻找大富翁__咳咳咳,还魂篇!!相关推荐
- 数据结构实验之排序四:寻找大富翁 SDUT
数据结构实验之排序四:寻找大富翁 SDUT Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Problem Description ...
- D - 数据结构实验之排序四:寻找大富翁
Description 2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁. Input 首先输入两个正整数N ...
- 数据结构实验之排序四:寻找大富翁
题目描述 2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁. 输入 首先输入两个正整数N( N ≤ 10^6 ...
- SDUT OJ 数据结构实验之排序一:一趟快排
数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- SDUT_2119 数据结构实验之链表四:有序链表的归并
点击打开链接 数据结构实验之链表四:有序链表的归并 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...
- SDUT OJ 数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...
- SDUT 3400 数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sort Time Limit: 150MS Memory Limit: 65536KB Submit Statistic Problem Description ...
- 数据结构实验之栈四:括号匹配
数据结构实验之栈四:括号匹配 Description 给你一串字符,不超过50个字符,可能包括括号.数字.字母.标点符号.空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配. Inp ...
- 数据结构实验之排序七:选课名单
数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 随着学校规模 ...
最新文章
- HP380G7服务器安装fedaro16的问题解决
- 编程第一个Apple Watch程序创建项目
- 面向对象的设计模式及魔术函数
- Android 12正式发布:安卓历史最大设计变化、更流畅了!
- 计算机视觉编程——增强现实基础
- 启动docker容器时报错:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT -
- hibernate课程 初探单表映射1-4 hibernate开发前准备
- python 嵌套型partials(nested partials)的使用
- Apache Flink 进阶入门(二):Time 深度解析
- 【Python数据分析】数据预处理1——数据清洗
- vue组件制作专题 - (mpvue专用)在mpvue中纯自己写css实现简单左右轮播
- 分享三:mysql跨库查询
- 前端绝对路径不显示图片_[锋利web前端开发]sass小技巧图片版本号和绝对路径引用...
- 文本推理_基于事理图谱的文本推理
- 随机过程中均值、方差、协方差和相关函数的计算
- python爬虫-破解验证码(封装超级鹰实现)
- 如何从零开始刷力扣算法题--2020年12月中旬
- ubuntu14.04安装360随身wifi 2代
- ubantu apt命令失败
- Pipline 中的Hazard, Forwarding, Stall, Flush和其他