使用Java实现快速排序的基本代码。它首先将数组分为两个部分,一个包含比基准元素小的元素,另一个包含比基准元素大的元素,然后对这两个部分递归地应用相同的过程。
java
public class QuickSort {
public static void sort(int[] arr) {
if (arr.length <= 1) {
return;
}
int pivot = arr[arr.length / 2];
int left = -1;
int right = arr.length;
for (int i = 0; i < arr.length; i++) {
if (arr[i] < pivot) {
left++;
swap(arr, i, left);
} else if (arr[i] > pivot) {
swap(arr, i, right);
right--;
}
}
swap(arr, 0, left);
sort(Arrays.copyOfRange(arr, left + 1, right));
sort(Arrays.copyOfRange(arr, 0, left));
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static void main(String[] args) {
int[] arr = {9, 7, 5, 11, 12, 2, 14, 3, 10, 6};
sort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
}
验证代码部分,我们主要创建一个需要排序的数组,然后调用排序函数,最后打印排序后的数组。在main函数中,我们定义了一个复杂的混合数组进行测试。测试结果应该是一个按升序排列的数组。
这个快速排序的代码示例简单易懂,适合初学者理解。但在实际应用中,可能需要考虑其他因素,如数组中可能存在的重复元素,或者在处理大数据量时如何优化算法等。
联系客服