摘要: 一、将各种数据排序 只要实现了Comparable接口的数据类型就可以被排序。 但要使算法能够灵活地用不同字段进行排序,则是后续需要考虑的问题。 1、指针排序 在Java中,指针操作是隐式的,排序算法操作的总是数据引用,而不是数据本身。 2、键不可变 如果在排序后,用例还可以改变键值,那么数组很可能 阅读全文
posted @ 2017-04-20 23:49 我是老邱 阅读(2757) 评论(0) 推荐(0)
摘要: 一、简介 堆排序可以分为两个阶段:构造堆和下沉排序两个阶段。 构造堆:将原始数组重新组织为一个堆。 下沉排序:从堆中按递减顺序取出所有元素并得到排序结果。 二、实现 1、堆排序 中规中矩的方法: 从左向右遍历整个数组,用swim方法保证当前位置左侧的所有元素已经是堆有序的即可。 就像连续向优先队列中 阅读全文
posted @ 2017-04-20 15:20 我是老邱 阅读(1077) 评论(0) 推荐(0)