博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1066-堆排序
阅读量:4972 次
发布时间:2019-06-12

本文共 935 字,大约阅读时间需要 3 分钟。

描述

 

给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中堆排序算法进行排序,并输出排序最后结果的相应序列。

 

输入

 

共两行,第一行给出排序元素数目n,第二行给出n个元素,1n100000,每个元素值范围为 [0100000)

 

输出

 

一行,输出排序结果。

 

样例输入

7

48 36 68 72 12 48 2

样例输出

2 12 36 48 48 68 72

#include 
#define N 100000using namespace std;void swap(int &x,int &y){ int z; z=x; x=y; y=z;}void adjustdown(int a[],int r,int j){ int child=2*r+1; int temp=a[r]; while(child<=j) { if((child
=a[child]) break; a[(child-1)/2]=a[child]; child=2*child+1; } a[(child-1)/2]=temp;}void heapsort(int a[],int n){ for(int i=(n-2)/2;i>-1;i--) adjustdown(a,i,n-1); for(int ii=n-1;ii>0;ii--) { swap(a[0],a[ii]); adjustdown(a,0,ii-1); }}int main(){ int n; int a[N]={0}; cin>>n; for(int k=0;k
>a[k]; heapsort(a,n); for(int kk=0;kk

  

转载于:https://www.cnblogs.com/Rosanna/p/3436822.html

你可能感兴趣的文章
datalist 分页
查看>>
M25-14
查看>>
.NET 通过 NPOI 操作 Excel
查看>>
Delphi XE2 之 FireMonkey 入门(3) - 关于 TPosition
查看>>
Eclipse快捷键功能
查看>>
编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/....dll”--“拒绝访问。...
查看>>
Shell记录-Shell脚本基础(二)
查看>>
80386的内存分页机制
查看>>
【实验4】类与对象2
查看>>
sgu116
查看>>
2.变量
查看>>
Spring—Quartz定时调度CronTrigger时间配置格式的实例
查看>>
大白话描述事件 [转]
查看>>
面试-java算法题
查看>>
IDEA类和方法注释模板设置(非常详细)
查看>>
eclipse生成并调用webservices客户端client
查看>>
Java--动态代理
查看>>
day05列表 类型
查看>>
闲聊测试工程师
查看>>
如何在线编辑修改PDF文件中的背景颜色
查看>>