快速排序(java实现)
快速排序(java实现)
public class Study { public static void main(String[] args) { int[] test_arr = new int[50]; for(int i = 0; i < test_arr.length; i++) { //取随机数0-100给数组赋值 test_arr[i] = (int)(Math.random() * 100); } System.out.println("排序前"); //排序前数组输出 for(int i: test_arr) { System.out.print(i + " "); } //换行 System.out.println(); System.out.println("排序后"); mysort(test_arr, 0, test_arr.length - 1); //排序后数组输出 for(int i: test_arr) { System.out.print(i + " "); } } //快速排序方法 public static void mysort(int[] arr, int left, int right) { if(left > right) { return; } int i = left; int j = right; int key = arr[left]; int temp; while(i < j) { while(arr[j] >= key && i < j) { j--; } while(arr[i] <= key && i < j) { i++; } if(i < j) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } arr[left] = arr[i]; arr[i] = key; mysort(arr, i + 1, right); mysort(arr, left, i - 1); } }
1.测试结果
排序前 60 87 71 22 81 61 33 89 43 50 56 92 82 54 85 78 55 66 17 76 29 75 39 79 89 24 71 40 73 67 70 94 73 43 20 19 46 34 56 50 42 12 54 6 38 65 35 81 75 96 排序后 6 12 17 19 20 22 24 29 33 34 35 38 39 40 42 43 43 46 50 50 54 54 55 56 56 60 61 65 66 67 70 71 71 73 73 75 75 76 78 79 81 81 82 85 87 89 89 92 94 96 Process finished with exit code 0
上一篇:
IDEA上Java项目控制台中文乱码