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

中国十大网站公司排名欧模网室内设计网官网

中国十大网站公司排名,欧模网室内设计网官网,个人网站做捐赠发布违法吗,浙江建设工程信息网高工评选目录 优化堆排序 Java 实例代码 src/runoob/heap/HeapSort.java 文件代码#xff1a; 优化堆排序 上一节的堆排序#xff0c;我们开辟了额外的空间进行构造堆和对堆进行排序。这一小节#xff0c;我们进行优化#xff0c;使用原地堆排序。 对于一个最大堆#xff0c;首…目录 优化堆排序 Java 实例代码 src/runoob/heap/HeapSort.java 文件代码 优化堆排序 上一节的堆排序我们开辟了额外的空间进行构造堆和对堆进行排序。这一小节我们进行优化使用原地堆排序。 对于一个最大堆首先将开始位置数据和数组末尾数值进行交换那么数组末尾就是最大元素然后再对W元素进行 shift down 操作重新生成最大堆然后将新生成的最大数和整个数组倒数第二位置进行交换此时倒数第二位置就是倒数第二大数据这个过程以此类推。 整个过程可以用如下图表示 Java 实例代码 源码包下载Downloadhttps://www.runoob.com/wp-content/uploads/2020/09/runoob-algorithm-HeapSort.zip src/runoob/heap/HeapSort.java 文件代码 package runoob.heap; import runoob.sort.SortTestHelper; /**  * 原地堆排序  */ public class HeapSortT extends Comparable {     public static void sort(Comparable[] arr) {         int n arr.length;         // 注意此时我们的堆是从0开始索引的         // 从(最后一个元素的索引-1)/2开始         // 最后一个元素的索引 n-1         for (int i (n - 1 - 1) / 2; i 0; i--)             shiftDown(arr, n, i);                 for (int i n - 1; i 0; i--) {             swap(arr, 0, i);             shiftDown(arr, i, 0);         }     }     // 交换堆中索引为i和j的两个元素     private static void swap(Object[] arr, int i, int j) {         Object t arr[i];         arr[i] arr[j];         arr[j] t;     }     // 原始的shiftDown过程     private static void shiftDown(Comparable[] arr, int n, int k) {         while (2 * k 1 n) {             //左孩子节点             int j 2 * k 1;             //右孩子节点比左孩子节点大             if (j 1 n arr[j 1].compareTo(arr[j]) 0)                 j 1;             //比两孩子节点都大             if (arr[k].compareTo(arr[j]) 0) break;             //交换原节点和孩子节点的值             swap(arr, k, j);             k j;         }     }     // 测试 HeapSort     public static void main(String[] args) {         int N 100;         Integer[] arr SortTestHelper.generateRandomArray(N, 0, 100000);         sort(arr);         // 将heapify中的数据逐渐使用extractMax取出来         // 取出来的顺序应该是按照从大到小的顺序取出来的         for (int i 0; i N; i) {             System.out.print(arr[i] );         }         // 确保arr数组是从大到小排列的         for (int i 1; i N; i)             assert arr[i - 1] arr[i];     } }
http://www.pierceye.com/news/665544/

相关文章:

  • idc网站建设怎么自己做一个网页链接
  • 网站开发安全模块方案个人网站搭建软件
  • 重庆建设招标造价信息网站个人网站建设与维护
  • 网站备案用户名忘了怎么办嘉兴做外贸网站的公司
  • 1688网站的特点网站制作器手机版下载
  • 兖州网站开发做一个中英文网站多少钱
  • wordpress怎么做网盘站好看的页面图片
  • 建设网站深圳罗湖安徽合肥做网站
  • 一级a做爰片免费网站下载网站快慢由什么决定
  • 网页设计与网站建设 郑州大学网络购物网站备案
  • 美观网站建设哪家好优化大师最新版下载
  • 外贸品牌网站制作wordpress 微信主题
  • 旅游网站开发需求分析网站的根目录的路径
  • easyUI网站开发docker wordpress mysql
  • dede手机网站模板下载黄冈做网站
  • 诸城网站建设葛小燕现在搜索引擎哪个比百度好用
  • 嘉兴做微网站多少钱注册网页需要多少钱
  • 论坛类网站设计大型网站系统解决方案
  • 网站建设中页面设计广告策划书籍
  • 云南省建设工程投标中心网站网页的制作步骤是什么
  • 保定网站设计概述更换动易网站模板的方法
  • 新手如何注册网站域名做 理财网站有哪些
  • 南宁快速建站模板企业网站的开发与应用
  • 网站运营适合什么样的人做企业宣传及介绍ppt
  • 怎么样网站开源小升初在线做试卷的网站
  • 中国建设银行章丘支行网站网站排版设计欣赏
  • 儿童摄影网站建设专业做网站制作自助建站系统
  • 注册做网站的公司有哪些wordpress 4.1 下载
  • 用ps做美食网站一个网站多少钱?
  • 网站建设 试题揭阳专业做网站公司