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

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

记录一下堆的两种调整

//小根堆的两种调整#include
#include
#include
#include
using namespace std;void adjustUp(int a[],int i){//只能排序a[1,n],插入时使用 if(i==1) return ; while(i!=1){ if(a[i]
a[j+1]){ j++; } if(a[i]>a[j]){ swap(a[i],a[j]); i=j; j*=2; }else{ break; } }}int main(){ int n; int a[100]; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ adjustUp(a,i); } for(int i=1;i<=n;i++){ printf("%d ",a[i]); } printf("\n"); swap(a[1],a[n]); adjustDown(a,1,n-1); for(int i=1;i<=n;i++){ printf("%d ",a[i]); } return 0;}/*812 5 78 31 77 64 152 25*/

 

转载于:https://www.cnblogs.com/seasonal/p/10343590.html

你可能感兴趣的文章
SpringBoot 实战 (二) | 第一个 SpringBoot 工程详解
查看>>
Go goroutine理解
查看>>
IDE 插件新版本发布,开发效率 “biu” 起来了
查看>>
理解环境变量 JAVA_TOOL_OPTIONS
查看>>
看大牛是如何使用和理解线程池
查看>>
sql server 索引阐述系列八 统计信息
查看>>
c# Request对象(13)
查看>>
USB,蓝牙,以太网,还是WIFI?
查看>>
阿里云服务器更改时区为utc
查看>>
APP测试流程和测试点
查看>>
ansible实战
查看>>
PowerShell 远程管理之启用和执行命令
查看>>
mysql安装错误
查看>>
马斯克:我并不讨厌苹果 Apple Watch还不成熟
查看>>
PHP中实现函数重载
查看>>
白宫电子邮件系统疑被黑:第一夫人护照信息被曝光
查看>>
站在物联网风口,传感器产业弯道超车?
查看>>
Git -- 新增分支添加新功能
查看>>
删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件:字符串截取...
查看>>
sql中多层循环示例(有游标)
查看>>