您可以使用以下的Java代码来实现快速排序算法:
6 T: S+ r- Z0 Z: s8 T7 |1 i1 b
- public class QuickSort {
-
! A4 ]0 A% F9 @1 e0 x
- public static void quickSort(int[] arr, int low, int high) {
- if (low < high) {
, e& p2 S( O2 e$ `& |7 g
- int pivot = partition(arr, low, high);
- quickSort(arr, low, pivot - 1);
- quickSort(arr, pivot + 1, high);
3 Q7 y. c8 T( [4 `: D$ [# A0 i# K8 s7 q6 p
- }
( T. L0 |8 F9 \; U# L$ e
- }
& J' t7 K- q/ m# o+ ?
-
- public static int partition(int[] arr, int low, int high) {
# {2 ]) v2 p- \ W; ]
- int pivot = arr[high];
7 ]' M0 H% p; V8 `% Z9 G+ g+ H
- int i = low - 1;
- for (int j = low; j < high; j++) {
! j9 F7 F/ c" c, f* Z
- if (arr[j] < pivot) {
" f; K2 P5 u% w5 V6 \5 l
- i++;
- G, S& t+ n: V5 T' E
- swap(arr, i, j);
- }
! J+ B3 X9 s8 X8 x! M, {3 j- Q
- }
- swap(arr, i + 1, high);
- return i + 1;
6 q6 t2 z( Y9 h# O
- }
-
! Y Y8 ?$ T: y: Z/ J3 P$ U2 w
- public static void swap(int[] arr, int i, int j) {
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
-
; m. Q0 q$ {0 T
- public static void main(String[] args) {
- int[] arr = {9, 5, 1, 8, 3, 2, 7};
% B# \: U; U3 v' U
- quickSort(arr, 0, arr.length - 1);
' {: w* H& h; U
- System.out.println("排序后的数组:");
7 A( X, |0 t- e. j
- for (int num : arr) {
; h2 B4 \8 l' e- y! P
- System.out.print(num + " ");
- }
- }
3 }7 E% c+ \* A/ B/ r' u; _% F
- }
# g r& b% Q0 Q6 n
复制代码
请注意,这只是快速排序算法的一种实现方式,您也可以使用其他方法来实现。
8 d/ O4 g1 j* V' i y
$ q r4 S. I% u3 @& Z% t% a% n
|