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

ps做图游戏下载网站滨州医学院做计算机作业的网站

ps做图游戏下载网站,滨州医学院做计算机作业的网站,驾校一点通网站怎么做,学电子商务后悔了前面我们讲了堆,现在我们来看一下队排序。 堆排序的步骤: 首先将一个无序数组建立成一个大顶堆然后,将堆顶的元素和堆低的元素进行交换(即将最大的元素交换的到堆底),缩小并下潜调整堆重复上一步&#xf…

前面我们讲了堆,现在我们来看一下队排序。

堆排序的步骤:

  • 首先将一个无序数组建立成一个大顶堆
  • 然后,将堆顶的元素和堆低的元素进行交换(即将最大的元素交换的到堆底),缩小并下潜调整堆
  • 重复上一步,直到堆中只剩一个元素为止

下面来看一下代码实现:

下面看一下具体的代码:

package Sorts;
//堆排
public class HeapSort {public static void main(String[] args) {int[] arr = {16, 7, 3, 20, 17, 8};heapSort(arr);for (int i : arr) {System.out.print(i + " ");}}/*** 创建堆*/private static void heapSort(int[] arr) {//创建堆for (int i = (arr.length - 1) / 2; i >= 0; i--) {//从第一个非叶子结点从下至上,从右至左调整结构adjustHeap(arr, i, arr.length);}//调整堆结构+交换堆顶元素与末尾元素for (int i = arr.length - 1; i > 0; i--) {//将堆顶元素与末尾元素进行交换int temp = arr[i];arr[i] = arr[0];arr[0] = temp;//重新对堆进行调整adjustHeap(arr, 0, i);}}/*** 调整堆* @param arr 待排序列* @param parent 父节点* @param length 待排序列尾元素索引*/private static void adjustHeap(int[] arr, int parent, int length) {//将temp作为父节点int temp = arr[parent];//左孩子int lChild = 2 * parent + 1;while (lChild < length) {//右孩子int rChild = lChild + 1;// 如果有右孩子结点,并且右孩子结点的值大于左孩子结点,则选取右孩子结点if (rChild < length && arr[lChild] < arr[rChild]) {lChild++;}// 如果父结点的值已经大于孩子结点的值,则直接结束if (temp >= arr[lChild]) {break;}// 把孩子结点的值赋给父结点arr[parent] = arr[lChild];//选取孩子结点的左孩子结点,继续向下筛选parent = lChild;lChild = 2 * lChild + 1;}arr[parent] = temp;}
}

堆排序主要就是运用了堆的特性,对于堆,堆元素的下潜操作一顶要熟悉。

http://www.yayakq.cn/news/507420/

相关文章:

  • 多光营销软件网站嘉定区建设局网站
  • 做ic销售的各种网站阿里云模板建站怎么样
  • 设计型网站自带优化网站空间 支持什么程序
  • 天津商务网站建设莱芜金点子最新招聘兼职信息
  • 怎样申请网站域名和空间可以做我女朋友吗网站
  • 网站如何做信息表做外贸的阿里巴巴网站是哪个好
  • 网站免费打包ios织梦网站会员中心模板下载
  • 企业网站管理名词解释wordpress中文模板下载地址
  • 海南网站优化微网站开发要多少钱
  • 网站模板加盟代理做网站需要提供什么
  • 毕业设计做音乐网站软件工程出来干什么工作
  • 网站开发设计文员搞定设计网页
  • 北京昌平网站建设苏州建设厅网站首页
  • 企业网站建设费用计入哪个科目dedecms 营销网站模板
  • 网站根目录在哪儿新冠为什么莫名消失了
  • 基于wordpress的开发教程橘子seo
  • 天津市建设工程交易中心网站中山网站建设的价格
  • 门户网站模板免费下载如何翻译wordpress主题
  • 素材网站视频外链网站 英文
  • 网站建设与微信营销app
  • 手机网站开发解决方案温州建设管理处网站
  • 网站案例鉴赏wordpress 分类下怎么调用带有缩略图的文章?
  • 彩虹网站建设服装网站开发的意义
  • 长沙做网站推广哪家好查营业执照用什么软件
  • 做水果网站行微信分销系统开发得多少钱
  • 大学生个人简历电子版模板推送者seo
  • 怎么样可以设计网站上海金山网站建设
  • 网站建设需要注意的网站底部悬浮代码
  • 深圳住房和建设局网站 招标女生学网站建设好学吗
  • 网站建设后台功能深圳建设工程信息网查询系统