摘要:
import java.util.Arrays;public class MergeSort { public static void mergeSort(DataWraper[] data){ System.out.println("开始排序:"); sort(data,0,data.length-1); } /*将索引从left到right范围的数组元素进行归并排序 * data 待排序数组 * left 待排序数组的第一个元素索引 * right 待排序数组的最后一个元素索引 */ private static void sort(DataWraper[] data, 阅读全文
摘要:
import java.util.Arrays;public class ShellSort { public static void shellSort(DataWraper[] data){ System.out.println("开始排序:"); int arrayLength=data.length; int h=1; //按h*3+1得到增量序列的最大值 while(h<arrayLength/3){ h=h*3+1; } while(h>0){ System.out.println("====h的值:"+h+"===&q 阅读全文
摘要:
import java.util.Arrays;public class BinaryInsertSort { public static void binaryInsertSort(DataWraper[] data){ System.out.println("开始排序:"); int arrayLength=data.length; for(int i=1;i<arrayLength;i++){ DataWraper tmp=data[i]; int low=0; int high=i-1; while(low<=high){ //找出low、high的中间 阅读全文
摘要:
import java.util.Arrays;public class InsertSort { public static void insertSort(DataWraper[] data){ System.out.println("开始排序:"); int arrayLength=data.length; for(int i=1;i<arrayLength;i++){ //当整体后移是,保证data[i]的值不会丢失 DataWraper tmp=data[i]; //i索引处的值已经比前面所有值都大,表明已经有序,无需插入 if(data[i].compar 阅读全文
摘要:
import java.util.Arrays;public class QuickSort { public static void quickSort(DataWraper[] data){ System.out.println("开始排序"); subSort(data,0,data.length-1); } //对data数组中从start到end索引范围的子序列进行处理, //使所有小于分界值的放在左面,所有大于分界值的放在右面 private static void subSort(DataWraper[] data, int start, int end) { 阅读全文
摘要:
import java.util.Arrays;public class BubbleSort { public static void bubbleSort(DataWraper[] data){ System.out.println("开始排序"); int arrayLength=data.length; for(int i=0;i<arrayLength-1;i++){ boolean flag=false; for(int j=0;j<arrayLength-i-1;j++){ if(data[j].compareTo(data[j+1])>0) 阅读全文
摘要:
import java.util.Arrays;public class HeapSort { public static void heapSort(DataWraper[] data){ System.out.println("开始排序"); int arrayLength=data.length; //循环建堆 for(int i=0;i<arrayLength-1;i++){ //建堆 buildMaxHeap(data,arrayLength-1-i); //交换堆顶和最后一个元素 swap(data,0,arrayLength-1-i); System.o 阅读全文
摘要:
import java.util.Arrays;class DataWraper implements Comparable<DataWraper>{ int data; String flag; public DataWraper(int data, String flag) { super(); this.data = data; this.flag = flag; } public String toString(){ return data+flag; } @Override public int compareTo(DataWraper dw) { // TODO Aut 阅读全文