摘要: package sort; /**希尔排序的原理:根据需求,如果你想要结果从小到大排列,它会首先将数组进行分组,然后将较大值移到前面,较小值 * 移到后面,最后将整个数组进行插入排序,这样比起一开始就用插入排序减少了数据交换和移动的次数,可以说希尔排序是加强 * 版的插入排序 * 拿数组5, 2, 8, 9, 1, 3,4来说,数组长度为7,当increment为3时,数组分为两个序... 阅读全文
posted @ 2016-09-07 22:02 小竹子kisty 阅读(247) 评论(0) 推荐(0) 编辑
摘要: package sort; //最大堆的特性是,某个节点的值最多和其父节点的值一样大。这样,堆中的最大元素存放在根节点中 //;并且,在以某一个节点为根的子树中,各节点的值都不大于该子树根节点的值 public class HeapSort { public static void heapSort(int[] list) { if (list == n... 阅读全文
posted @ 2016-09-07 21:59 小竹子kisty 阅读(141) 评论(0) 推荐(0) 编辑
摘要: package sort; public class QuickSort { public static void quickSort(int[] list){ quickSort(list,0,list.length-1); } //注意这里是private private static void quickSort(int[] list,int first ,int last... 阅读全文
posted @ 2016-09-07 21:57 小竹子kisty 阅读(171) 评论(0) 推荐(0) 编辑
摘要: package sort; public class MergeSort { public static void mergeSort(int[] list){ if(list.length>1){ int[] firstHalf= new int[list.length/2]; System.arraycopy(list,0,firstHalf,0,list.length/... 阅读全文
posted @ 2016-09-07 21:57 小竹子kisty 阅读(148) 评论(0) 推荐(0) 编辑
摘要: package sort; public class BubbleSort { public static void bubbleSort(int[] list){ boolean needNextPass =true; for(int k=1;klist[i+1]){ int temp = list[i]; list[i] = list[i+1]; l... 阅读全文
posted @ 2016-09-07 21:56 小竹子kisty 阅读(193) 评论(0) 推荐(0) 编辑
摘要: package sort; //插入排序 public class InsertionSort { public static void insertionSort(int[] list){ for(int i=1 ;i=0&&list[k]>currentElement;k--) list[k+1]=list[k]; list[k+1] = currentEleme... 阅读全文
posted @ 2016-09-07 21:55 小竹子kisty 阅读(115) 评论(0) 推荐(0) 编辑
摘要: //用递归的方法实现选择排序 package sort; public class RecursiveSelectionSort { public static void sort(double[] list){ sort(list,0,list.length-1); } public static void sort(double[] list,int low,int high... 阅读全文
posted @ 2016-09-07 21:55 小竹子kisty 阅读(3079) 评论(0) 推荐(0) 编辑
摘要: 1 //选择排序 2 package sort; 3 4 public class SelectionSort { 5 public static void SelectionSort(double[] list){ 6 for(int i=0;ilist[k]){ 12 currentMin = list[k]; 1... 阅读全文
posted @ 2016-09-07 21:54 小竹子kisty 阅读(196) 评论(0) 推荐(0) 编辑