数据结构与算法:Java实现快速排序
快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字要小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
以下是Java实现快速排序的示例代码:
public class QuickSort {
// 快速排序方法
public void quickSort(int[] arr, int left, int right) {
if (left < right) { // 如果还有元素未排序
// 找到当前子数组的基准值(这里选择中间值)
int pivotIndex = left + ((right - left) / 2);
// 将基准值放在正确的位置
swap(arr, pivotIndex, right);
// 对基准左边和右边的子数组递归排序
quickSort(arr, left, pivotIndex - 1);
quickSort(arr, pivotIndex + 1, right);
}
}
// 交换两个元素的位置
private void swap(int[] arr, int index1, int index2) {
int temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
// 主方法,调用快速排序方法对数组进行排序
public static void main(String[] args) {
int[] arr = {5, 3, 8, 4, 2};
QuickSort quickSort = new QuickSort();
quickSort.quickSort(arr, 0, arr.length - 1);
// 打印排序后的数组
for (int num : arr) {
System.out.print(num + " ");
}
}
}
这段代码首先定义了一个快速排序类,其中包含快速排序的方法、交换元素位置的方法以及主方法。
在主方法中,创建了一个整数数组并调用快速排序方法进行排序。最后打印出排序后的数组。
还没有评论,来说两句吧...