[JAVA]堆排
来源:互联网 发布:保姆偷喝母乳 知乎 编辑:程序博客网 时间:2024/05/22 08:06
这不马上秋招了吗,熟悉熟悉算法,根据网上的原理写个堆排发现跟给的代码不一样,,,有错误请大家指出。。。
public class HeapSort { public static void main(String[] args) { int [] a={49,38,65,97,71,13,27,49,78,34,12,64,1}; int arrayLength = a.length; for(int i=0;i<arrayLength-1;i++){ creatHeap(a,arrayLength-1-i); swap(a,0,arrayLength-1-i); } for(int i =0;i<a.length;i++){ System.out.print(a[i]+" "); } } static void creatHeap(int datas[],int lastIndex){//lastIndex=Length-1 for(int i=(lastIndex-1)/2;i>=0;i--){ int p = i;//根节点 int l = 2*p+1;//左儿子(由i=(lastIndex-1)/2 可得知左儿子必存在) if(lastIndex>l){// 右儿子存在 if(datas[l]<datas[l+1]){ swap(datas,l,l+1); } } if(datas[p]<datas[l]){ swap(datas,p,l); } } } static void swap(int[] data, int i, int j) { int tmp=data[i]; data[i]=data[j]; data[j]=tmp; }}
0 0
- java实现堆排
- [JAVA]堆排
- JAVA版的快排,堆排,筛法
- Java版的堆排、快排、筛法
- 选择,插入,快排,堆排的Java实现
- Java基础算法:堆排,快排,二分查找
- java 快排和堆排序
- 堆排
- 堆排
- 堆排
- 堆排
- 堆排
- 快排,堆排序,折半查找算法(Java版)
- 常用算法之堆排原理介绍与java实践
- Java之常见的几种排序算法-插入、选择、冒泡、快排、堆排等 .
- 排序算法 ---选择排序(直排,堆排)(java)
- Java 常见的几种排序算法-插入、选择、冒泡、快排、堆排等
- Java之常见的几种排序算法-插入、选择、冒泡、快排、堆排等
- 分布式服务框架--Dubbo
- 牵一发而动全身的CPU性能指标
- 自定义类型使用foreach循环
- 模板类实现二叉树前序、中序、后序遍历
- 获取html的当前级以及上一级的导航名称
- [JAVA]堆排
- Android学习第十二篇——Fragment基础学习
- 欢迎使用CSDN-markdown编辑器
- android oom分析步骤
- Android 点击两次返回键退出程序
- 斐波那契
- 求两个数1~n之间的素数
- ปอเช็ตติโน่ เสียดายโอกาสของทีมในเกมฟัดหงส์
- 将Gradle项目发布到maven仓库