标签:定义 system highlight java 交换 从后往前 ati sys str
public class QuickSort {
/**
* 快速排序-递归实现
*/
public static void quickSort(int[] array, int left, int right) {
if (left >= right)
return;
int pivot = array[left];// 枢纽。 定义基准值
int i = left;
int j = right;
while (i < j) {
//在基准处后面部分,从后往前找到首个比基准值小的数
while (pivot <= array[j] && i < j)
j--;
//在基准处前面部分,从前往后找到首个比基准值大的数
while (pivot >= array[i] && i < j)// 从左往右找到首个比基准值大的数
i++;
// 如果i<j,交换上面找到的两个数
if (i < j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
array[left] = array[i];
array[i] = pivot;// 调整新基准值位置
quickSort(array, left, i - 1);// 对左边的子数组进行递归
quickSort(array, i + 1, right);// 对右边的子数组进行递归
}
public static void main(String[] args) {
int[] array = { 7, 5, 3, 2, 9, 10, 8, 4, 6, 1 };
int low = 0;
int high = array.length - 1;
quickSort(array, low, high);
for (int i : array) {
System.out.print(i + " ");//1 2 3 4 5 6 7 8 9 10
}
}
}
标签:定义 system highlight java 交换 从后往前 ati sys str
原文地址:http://www.cnblogs.com/rouqinglangzi/p/7158080.html