java8算法_8个排序算法——java

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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值