美文网首页
堆排序java代码

堆排序java代码

作者: superczb | 来源:发表于2018-07-04 10:20 被阅读0次

public class HeapSort {

public static void main(String[] args){
    int[] arr = {49,38,65,97,76,13,27,49};
    for (int i = 0;i < arr.length;i++){
        System.out.print(arr[i] + " ");
    }
    System.out.println();
    headSort(arr);
    for (int i = 0;i < arr.length;i++){
        System.out.print(arr[i] + " ");
    }
}

public static void headSort(int[] arr){
    int i;
    int temp;
    int n = arr.length - 1;
    for (i = n / 2;i >= 0;i--){
        sift(arr, i, n);
    }
    for (i = n;i >= 1;i--){
        temp = arr[0];
        arr[0] = arr[i];
        arr[i] = temp;
        sift(arr, 0, i - 1);
    }
}

public static void sift(int[] arr,int low,int high){
    int i = low,j = 2 * i + 1;
    int temp = arr[i];
    while (j <= high){
        if (j < high && arr[j] < arr[j + 1]){
            j++;
        }
        if (temp < arr[j]){
            arr[i] = arr[j];
            i = j;
            j = 2 * i + 1;
        }else{
            break;
        }
        arr[i] = temp;
    }
}

}

相关文章

  • 堆排序java代码

    public class HeapSort { }

  • 堆排序

    一、堆排序 堆排序是我们所掌握的重要的排序算法之一,理解并使用,可以让我们对它的了解更加深刻: 话不多说上代码 java

  • 堆排序---基础篇

    本文主要介绍堆排序的一些基本过程和分析。 大纲 堆排序简介 堆排序代码实现 1. 堆排序简介 1.1 堆排序的存储...

  • 堆排序(非递归版)

    时间复杂度是O(nlogN) 但是不常用堆排序,因为堆排序不稳定 Java实现

  • java-四种排序算法

    复习java基础的时候,顺手写的。代码比较丑……1、直接插入排序 2、希尔排序 3、简单选择排序 4、堆排序

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

  • 14.排序算法(5)

    1.堆排序介绍 2. 代码实现

  • 堆排序代码

    include //array是待调整的堆数组,i是待调整的数组元素的位置,nlength是数...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • 堆排序

    概述 堆排序基于完全二叉树进行排序, 稳定性 堆排序不稳定 时间复杂度 堆排序的时间复杂度为 nlogn C代码

网友评论

      本文标题:堆排序java代码

      本文链接:https://www.haomeiwen.com/subject/awzsuftx.html