美文网首页
堆排序k大

堆排序k大

作者: 啊磊11 | 来源:发表于2021-03-24 23:00 被阅读0次

    //堆排序

    public static  int[]heap(int[] nums){

    for(int i = nums.length/2 -1;i>=0;i--){

    adjust(nums,i,nums.length);

        }

    for(int i=nums.length-1;i>nums.length -4;i--){

    swap(nums,0,i);

            adjust(nums,0,i);

        }

    return nums;

    }

    public static void adjust(int[] nums, int startindex, int length){

    int temp = nums[startindex];

        for(int i =2*startindex +1 ;i

    if(i

            if (nums[i]

            nums[startindex] = nums[i];

            startindex = i;

        }

    nums[startindex] = temp;

    }

    public static void swap(int[] nums,int i,int j){

    int temp = nums[i];

        nums[i] = nums[j];

        nums[j] = temp;

    }

    相关文章

      网友评论

          本文标题:堆排序k大

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