Fork me on GitHub
摘要: 1、基本思想 选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。 2、代码示例package sort;/** * 快速排序 */pu... 阅读全文
posted @ 2015-08-25 17:23 何海洋 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 1、基本思想 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。2、代码示例package sort;/** * 归并排序 */public class MergingSort { ... 阅读全文
posted @ 2015-08-25 17:14 何海洋 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 1、基本思想 将所有待比较数值(正整数)统一为同样 的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。2、代码示例package sort;import java.util.ArrayList;import j... 阅读全文
posted @ 2015-08-25 17:02 何海洋 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 1、基本思想 堆排序是一种树形选择排序,是对直接选择排序的有效改进。堆的定义如下:具有n个元素的序列(h1,h2,…,hn),当且仅当满足(hi>=h2i,hi>=2i+1)或(hi= 0; i--) { maxHeap(arr, len, i); } ... 阅读全文
posted @ 2015-08-25 16:44 何海洋 阅读(472) 评论(0) 推荐(0) 编辑