当前位置: 首页 > news >正文

长沙专业网站设计平台跳转短链接生成

长沙专业网站设计平台,跳转短链接生成,玉溪网站开发,为什么做动漫短视频网站本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 请编写程序,将 n 个顺序存储的数据用快速建堆操作调整为最小堆;最后顺次输出堆中元素以检验操作的正确性。 输入格式: 输入首先给出一个正整数 c(≤1…

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

    • 题目
    • 代码

题目

请编写程序,将 n 个顺序存储的数据用快速建堆操作调整为最小堆;最后顺次输出堆中元素以检验操作的正确性。

输入格式:
输入首先给出一个正整数 c(≤1000),为最小堆的最大容量;下一行给出正整数 n(≤c);随后一行给出 n 个元素。所有元素均为 int 型范围内的整数。

输出格式:
在 n 行中按层序遍历的顺序每行输出一个最小堆元素。

输入样例:
10
6
7 3 9 5 2 8

输出样例:
2
3
8
5
7
9

代码

#include <stdio.h>
#include <stdlib.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;
}// 向下调整堆,维护最小堆性质
void siftDown(int arr[], int n, int i) {int smallest = i;int left = 2 * i + 1;int right = 2 * i + 2;if (left < n && arr[left] < arr[smallest])smallest = left;if (right < n && arr[right] < arr[smallest])smallest = right;if (smallest != i) {swap(&arr[i], &arr[smallest]);siftDown(arr, n, smallest);}
}// 快速建堆:Floyd算法,自底向上调整非叶子节点
void buildHeap(int arr[], int n) {for (int i = n / 2 - 1; i >= 0; i--)siftDown(arr, n, i);
}int main() {int c, n;scanf("%d", &c);scanf("%d", &n);int *arr = (int *)malloc(c * sizeof(int));for (int i = 0; i < n; i++)scanf("%d", &arr[i]);buildHeap(arr, n);// 按层序遍历输出(数组顺序即为层序)for (int i = 0; i < n; i++)printf("%d\n", arr[i]);return 0;
}    
http://www.dtcms.com/a/551361.html

相关文章:

  • 网站建设中忽略的字体侵权行为南京网站设计费用
  • 贵港网站建设代理广告设计与制作模板
  • 镇江方圆建设监理咨询有限公司网站wordpress免费购物
  • 餐饮加盟网站制作广告词大全
  • 机票旅游网站开发南宁网站设计
  • 做网站什么的好如何推广网站平台
  • c++的头文件使用
  • 襄阳论坛网站建设新闻媒体网站开发文档
  • 生态建筑建设公司网站黄冈seo推广软件的更新版本
  • 手机wap网站下载wordpress在线邮箱
  • 网站注册地查询自己有域名怎么做免费网站
  • 机房建设网站合作平台网
  • 黑群辉建设个人网站广州互邦物流网络优化建站
  • 黑龙江省城乡建设厅网站网站后台和移动开发
  • 学勇建站jsp网站开发pdf
  • 临沂 网站优化赣榆区住房和城乡建设局网站
  • 织梦修改网站源代码网易企业邮箱注册入口官网
  • 教做美食网站源码chrome手机版
  • 抚顺市建设银行网站重庆建设网站的公司
  • 英文商城网站中文wordpress网站模板下载失败
  • 网站后台管理系统html静态网站建设平台
  • 企业建网站的工作网站设计建设公司服务商
  • 仿制网站的后台中国建筑有限公司官网
  • 做代刷网站赚钱不跨境电商怎么做一件代发
  • 设计制作一个ppt的完整步骤seo学徒培训
  • 自己的网站如何让百度收录长沙建设网站的公司
  • 婚纱摄影网站优化技巧如何建设一个电商网站
  • 网站显示速度的代码是什么意思百度搜索热词排行榜
  • 网站建设公司宣传词多用户开源商城
  • 巴中商城网站建设镇江市住房与城乡建设部网站