您可以使用以下的Java代码来实现快速排序算法:
$ w* r, l- [' x' T- o
- public class QuickSort {
8 |' m! m- u; P4 ~+ _! D& _
-
- public static void quickSort(int[] arr, int low, int high) {
- if (low < high) {
0 i7 E% q3 _7 x, w+ \+ ?. ^, i
- int pivot = partition(arr, low, high);
- quickSort(arr, low, pivot - 1);
- quickSort(arr, pivot + 1, high);
7 J7 p' X/ _- d4 L
- }
; O! j7 J9 ?% F# q* [
- }
8 o$ E: w5 ]5 |) \$ q7 Y1 w
-
- public static int partition(int[] arr, int low, int high) {
1 s4 A7 B/ X" U/ M7 v
- int pivot = arr[high];
" B. k) O$ {! B; d
- int i = low - 1;
- for (int j = low; j < high; j++) {
- if (arr[j] < pivot) {
7 t' ~: c7 ^7 }
- i++;
- swap(arr, i, j);
9 V; }& Z; `: Z5 E& g+ [3 H; V$ N: _
- }
- }
$ t2 {, _1 T8 b/ {! v$ Q8 M
- swap(arr, i + 1, high);
' o# b4 R7 j3 o; f& q+ c
- return i + 1;
- }
8 c3 z, ?. P6 l0 y# y( Z
-
- public static void swap(int[] arr, int i, int j) {
- int temp = arr[i];
# F: m) O' {0 a S8 P
- arr[i] = arr[j];
- arr[j] = temp;
$ M# J) N/ n8 r4 W
- }
-
: [' {+ q; u6 a3 W4 | I1 O4 M
- public static void main(String[] args) {
- int[] arr = {9, 5, 1, 8, 3, 2, 7};
( y" l- f* R9 Z
- quickSort(arr, 0, arr.length - 1);
y) T% w( ~3 i3 s
- System.out.println("排序后的数组:");
( h5 t7 b, S( d$ |& ^0 d
- for (int num : arr) {
- System.out.print(num + " ");
$ r6 G+ d2 K1 V0 i ?( Q
- }
F# C% B- f {9 @1 G0 G
- }
- }
3 |; t& J) S- z: q/ l5 o
复制代码
请注意,这只是快速排序算法的一种实现方式,您也可以使用其他方法来实现。
3 i6 O2 Y' ^% p+ ~! s2 g8 ]2 C9 A6 ~1 w9 b8 I
' F/ n+ V5 |2 u1 [4 [$ q
|