您可以使用以下的Java代码来实现快速排序算法:
0 f2 N$ N8 ?( U: p9 w& F
- public class QuickSort {
-
/ c$ E* ]& F+ ^7 z
- public static void quickSort(int[] arr, int low, int high) {
- if (low < high) {
+ a/ s* P" }2 F+ r# b7 F& J
- int pivot = partition(arr, low, high);
' f9 E- M3 l8 l: I) k: r
- quickSort(arr, low, pivot - 1);
- quickSort(arr, pivot + 1, high);
- }
- }
" j/ h3 |. K" ~9 F9 t; _+ h- @
-
- public static int partition(int[] arr, int low, int high) {
- int pivot = arr[high];
- int i = low - 1;
0 A; x" [ z% n; b$ a
- for (int j = low; j < high; j++) {
* b- z- k, F* ]. ], {
- if (arr[j] < pivot) {
- i++;
2 O$ j9 j! k; J }& P! P
- swap(arr, i, j);
- }
- }
' ~% W( `3 [. }% ?3 l( H7 H
- swap(arr, i + 1, high);
+ b9 r: q8 E* g1 k! F& B7 d7 }; j
- return i + 1;
' P) x# E U2 H l. P
- }
-
$ J: _& `4 p j
- public static void swap(int[] arr, int i, int j) {
" Z7 n7 [, a' }- w% o4 D
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- l. i$ L. [. R/ V; s: b% O
-
0 [8 _. w; V9 C& \- D
- public static void main(String[] args) {
$ V9 l, Z5 c0 e/ C
- int[] arr = {9, 5, 1, 8, 3, 2, 7};
- quickSort(arr, 0, arr.length - 1);
6 K4 j- i& K6 U/ d% F" u( ^
- System.out.println("排序后的数组:");
7 ~, q: U: D8 E+ d8 [
- for (int num : arr) {
7 v! `+ Z/ G/ Y- Z* ]( {2 m
- System.out.print(num + " ");
- }
- }
- }
复制代码
请注意,这只是快速排序算法的一种实现方式,您也可以使用其他方法来实现。" W0 C+ |* Y3 z4 J) T( a: b
' t: `+ D1 l3 d- b, M0 e: n h
- U( K. z3 R) Z( G$ S6 r; s x
|