堆排序Heap_Sort
2024-09-01 15:47:07
堆排序就是借助二叉堆进行排序,不了解二叉堆的可以先看这里。本文以升序排序为例,首先将待排序数组放置在最小堆中,此时堆顶一定是数组中最小的元素,然后删除堆顶元素,此时调整后的最小堆顶会是第二小的元素,从而实现排序。
时间复杂度: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
最新文章
- Android studio
- css相对定位和绝对定位
- AngularJS入门心得3——HTML的左右手指令
- 注意:DateTimePicker.Text不靠谱
- ajaxFileUpload上传文件没反应
- js高级技巧之高级定时器
- Emmet基本使用方法
- 基于JavaScript实现表单密码的隐藏和显示出来
- java截取字符串中的数字
- Codeforces Round #260 (Div. 2) B
- WCF - 实例与会话
- 正确设置网站title、keywords、description(转载)
- C# 使用枚举获取对应的数组值时
- eclipse中删除多余的tomcat server
- 使用canvas编写时间轴插件
- [Swift]LeetCode214. 最短回文串 | Shortest Palindrome
- PHP开发小技巧③—实现多维数组转化为一维数组
- JavaScript模拟表单(带数组的复杂数据结构)提交
- Java中关于变量的几种情况
- imperva命令行查看流量值大小