1 public static void radixsort(int[] a){2 int max=a[0];3 for(int i=1;i0){10 max/=10;11 time++;12 }13 java.util.List queue=new ArrayList();14 for(int i=0;i<10;i++){15 ArrayList queue1=new ArrayList<>();16 queue.add(queue1);17 }18 for(int i=0;i
31 for (int i = 0; i < a.length; i++) {32 System.out.println("radixsort" +a[i]);33 }34 }35
36 public static void mergesort(int[] a) {37 sort(a, 0, a.length-1);38 for (int i = 0; i < a.length; i++) {39 System.out.println("mergesort" +a[i]);40 }41 }42
43 public static void merging(int[] a, int left, int middle, intright) {44 if (middle < left || middle >right) {45 return;46 }47 int[] tmpArray = new int[a.length];48 int tmp =left;49 int tmpIndex =left;50 int begin1 =left;51 int begin2 = middle+1;52 while (begin1 <= middle && begin2 <=right) {53 if (a[begin1]
70 public static void sort(int[] a, int left, intright) {71 if (left
79 public static void quicksort(int[] a) {80 System.out.println("quicksort");81 quick(a, 0, a.length - 1);82 for (int i = 0; i < a.length; i++) {83 System.out.println("quicksort" +a[i]);84 }85 }86
87 public static void quick(int[] a, int left, intright) {88 if (left
95 public static int getMiddle(int[] a, int left, intright) {96 int tmp =a[left];97 while (left = tmp && right >left) {99 right--;100 }101 a[left] =a[right];102 while (a[left] <= tmp && left
111 public static void bubblesort(int[] a) {112 for (int i = 0; i < a.length; i++) {113 for (int j = 0; j < a.length - i - 1; j++) {114 if (a[j] > a[j + 1]) {115 swap(a, j, j + 1);116 }117 }118 }119 for (int i = 0; i < a.length; i++) {120 System.out.println("bubblesort" +a[i]);121 }122 }123
124 public static void heapsort(int[] a) {125 for (int i = a.length - 1; i >= 0; i--) {126 buildmaxheap(a, i);127 swap(a, i, 0);128
129 }130 for (int i = 0; i < a.length; i++) {131 System.out.println("heapsort" +a[i]);132 }133 }134
135 public static void swap(int[] a, int i, intj) {136 int temp =a[i];137 a[i] =a[j];138 a[j] =temp;139 }140
141 public static void buildmaxheap(int[] a, intlastindex) {142 int length =a.length;143 if (lastindex >=length) {144 return;145 }146 int index = (lastindex - 1) / 2;147 for (; index >= 0; index--) {148 int left = index * 2 + 1;149 if (left <=lastindex) {150 if (a[index]