如何用java写一个快速排序算法
导读:下面是一个用Java写的快速排序算法示例: public class QuickSort { public void sort(int[] arr, int low, int high { if (arr ==...
下面是一个用Java写的快速排序算法示例:
public class QuickSort {
public void sort(int[] arr, int low, int high) {
if (arr == null || arr.length == 0) {
return;
}
if (low >
= high) {
return;
}
int middle = low + (high - low) / 2;
int pivot = arr[middle];
int i = low, j = high;
while (i <
= j) {
while (arr[i] <
pivot) {
i++;
}
while (arr[j] >
pivot) {
j--;
}
if (i <
= j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
if (low <
j) {
sort(arr, low, j);
}
if (high >
i) {
sort(arr, i, high);
}
}
public static void main(String[] args) {
QuickSort quickSort = new QuickSort();
int[] arr = {
5, 2, 7, 3, 6, 1, 4}
;
quickSort.sort(arr, 0, arr.length - 1);
System.out.println("Sorted array:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
在这个示例中,sort方法使用递归的方式实现了快速排序算法。首先选择数组中间的元素作为pivot,然后将数组分成两部分,一部分比pivot小,一部分比pivot大,然后对这两部分分别进行递归排序。最后在main方法中展示了如何使用这个快速排序算法。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何用java写一个快速排序算法
本文地址: https://pptw.com/jishu/680787.html
