您可以使用以下的Java代码来实现快速排序算法: / K% R- K: r: e' f8 Z% d
- public class QuickSort {
-
- public static void quickSort(int[] arr, int low, int high) {
+ s% Z: ^( J3 j6 S) T0 r% G) y
- if (low < high) {
/ B! f9 |- M( z1 ?4 @* U8 w! ]
- int pivot = partition(arr, low, high);
- quickSort(arr, low, pivot - 1);
2 O! E; h5 { K) k( H! J6 k
- quickSort(arr, pivot + 1, high);
n! J( M" L- {) R2 e* G2 d
- }
* Z- j, K& w! k/ [4 k# F0 E8 V. A$ g1 ]3 ]
- }
-
- public static int partition(int[] arr, int low, int high) {
- int pivot = arr[high];
0 u) _3 U; v1 U7 g) o+ m
- int i = low - 1;
" e: q, ?' D' m/ q
- for (int j = low; j < high; j++) {
! B7 [9 ]2 w6 D4 ]6 g
- if (arr[j] < pivot) {
- i++;
- swap(arr, i, j);
9 ^6 Y: r+ i! ~) v" k$ L1 G3 I
- }
- }
- swap(arr, i + 1, high);
8 t) x5 U# \! d
- return i + 1;
- }
-
6 G2 n; C6 s" U: n
- public static void swap(int[] arr, int i, int j) {
5 r% ?3 w i+ g# t ]' ?
- int temp = arr[i];
- arr[i] = arr[j];
( t+ ]1 I) g6 h0 |5 |; M/ P# v1 [2 G
- arr[j] = temp;
- }
-
- public static void main(String[] args) {
, G( Y" U# a' V+ x7 C
- int[] arr = {9, 5, 1, 8, 3, 2, 7};
- quickSort(arr, 0, arr.length - 1);
- System.out.println("排序后的数组:");
- for (int num : arr) {
- System.out.print(num + " ");
- x# p3 W" S2 k/ m! d. u
- }
, a a/ }9 a7 s" c7 Z$ E
- }
* l. s1 s) |3 u1 L7 e) k, [# N
- }
复制代码
请注意,这只是快速排序算法的一种实现方式,您也可以使用其他方法来实现。6 e% Y, X9 O% |$ z' @
2 C. `% l; d h( h; x) o: L. ?" w3 G
|