码迷,mamicode.com
首页 > 编程语言 > 详细

堆排序Heap_Sort

时间:2019-11-25 00:15:22      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:bsp   二叉堆   删除   时间复杂度   out   com   结果   static   style   

堆排序就是借助二叉堆进行排序,不了解二叉堆的可以先看这里。本文以升序排序为例,首先将待排序数组放置在最小堆中,此时堆顶一定是数组中最小的元素,然后删除堆顶元素,此时调整后的最小堆顶会是第二小的元素,从而实现排序。

时间复杂度:O(nlogn)

代码:

    public static  void main(String [] args) {
        Heap<Integer> h = new Heap<>();
        Integer[] i = {20,30,90,40,70,110,60,10,100,50,80};
        for (int j = 0; j < i.length; j++) {
            h.insert(i[j]);
        }
         while(!h.isEmpty())
         {
             System.out.print(h.getFirst()+" ");
             h.deleteFirst();
         }

    }

输出结果:

10 20 30 40 50 60 70 80 90 100 110

 

堆排序Heap_Sort

标签:bsp   二叉堆   删除   时间复杂度   out   com   结果   static   style   

原文地址:https://www.cnblogs.com/lbrs/p/11925163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!