import java.util.Arrays;
/**
* 堆排序
*
*/
public class Sort7 {
public static void sort(int[] A){
for(int i=A.length-1;i>0;i--){
System.out.print("i:"+i+" ");
//1.构建堆
for(int j=i;j>0;j--){
//判断是否为右孩子
if(j%2==0&&j!=0){
if(A[j]>A[j/2-1]){
Swap.swap(A,j,j/2-1);
}
}
//判断是否为左孩子
if(j%2==1){
if(A[j]>A[(j-1)/2]){
Swap.swap(A,j,(j-1)/2);
}
}
}
//2.A[0]交换A[i]
Swap.swap(A,0,i);
System.out.println(Arrays.toString(A));
}
}
}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦