JAVA排序--[快速排序]
1 package com.array;2
3 public class Sort_Quick {
4 /*
5 * 项目名称:快速排序 ;
6 * 项目要求:用JAVA对数组进行排序,并运用排序算法" title="快速排序算法">快速排序算法;
7 * 作者:Sevck;
8 */
9 public void sort(int left, int right, int array[]) {
10 int l = left;
11 int r = right;
12 int pirot = array[(left + right) / 2];
13 int temp = 0;
14 while (l < r) {
15 while (array[l] < pirot && l >= left)
16 l++;
17 while (array[r] > pirot && r <= right)
18 r--;
19 if (l >= r)
20 break;
21 temp = array[l];
22 array[l] = array[r];
23 array[r] = temp;
24 }
25
26 if (l == r) {
27 l++;
28 r--;
29 }
30
31 if (left < r)
32 sort(left, r, array);
33 if (right > l)
34 sort(l, right, array);
35 }
36
37 public static void main(String[] args) {
38 int arr1[] = { 7, 3, 2, 9, 15, 1, 14 };
39 Sort_Quick qs = new Sort_Quick();
40 qs.sort(0, arr1.length - 1, arr1);
41
42 System.out.println("The current array is:");
43
44 for (int i = 0; i < arr1.length; i++) {
45 System.out.print(" " + arr1[i]);
46 }
47 }
48 }
这个需要说说了,之前快排有处写错了,自己调试了好久没解决,(结果发现的时候不细心--写成++)。
看了半天没看到,arr1.length - 1 怎么会变成7...找鸡哥问了,瞬间解决了,还被吐槽了代码写的好烂。。一点都不好看
不过看完鸡哥的确实是自叹不如,好好学习了他的编码风格...
以上是 JAVA排序--[快速排序] 的全部内容, 来源链接: utcz.com/z/391763.html