下面是代码!第一次发帖子,多多见谅!
public class quickSort {
public static void main(String[] args) {
int[] arr = { 1, 23, 4, 3, 55, 667 };
quickSort(arr, 0, 5);
print(arr);
}
public static final void quickSort(int[] array, int start, int end) {
int i = start, j = end;
int pivot = array; // 取第1个元素为基准元素
int emptyIndex = i; // 表示空位的位置索引,默认为被取出的基准元素的位置
while (i < j) { // 助手2开始从右向左一个个地查找小于基准元素的元素
while (i < j && pivot <= array[j])
j--;
if (i < j) {
array[emptyIndex] = array[emptyIndex = j];
}
while (i < j && array <= pivot)
i++;
if (i < j) {
array[emptyIndex] = array[emptyIndex = i];
}
}
array[emptyIndex] = pivot;
if (i - start > 1) {
quickSort(array, 0, i - 1);
}
if (end - j > 1) {
quickSort(array, j + 1, end);
}
}
public static void print(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr + " ");
}
}
}
|
|