您可以使用以下的Java代码来实现快速排序算法:
& ~7 V0 z3 A1 G7 F5 Y( @# x
- public class QuickSort {
-
- public static void quickSort(int[] arr, int low, int high) {
: D+ k2 g3 ?, A7 I2 P
- if (low < high) {
& ]1 V7 l L: z3 v8 G- G8 d
- int pivot = partition(arr, low, high);
- quickSort(arr, low, pivot - 1);
- quickSort(arr, pivot + 1, high);
- }
' U* t [+ H* Y! a8 W+ Z
- }
-
- public static int partition(int[] arr, int low, int high) {
- int pivot = arr[high];
- int i = low - 1;
- for (int j = low; j < high; j++) {
7 a# @: d `; i; Q; D% M
- if (arr[j] < pivot) {
- i++;
- swap(arr, i, j);
& r. ]/ _8 b, I) {0 A ^- G
- }
4 X: d+ x7 J( Z6 t! V" k7 D
- }
- swap(arr, i + 1, high);
3 B E7 G& A6 f* d/ ]1 B# r
- return i + 1;
% e( g% d9 C4 b2 e9 @3 S) O( h9 d$ l
- }
9 P) P6 e3 k2 ^% ?: ~& t
-
9 {# r5 w! A6 z$ x# } z G. k
- public static void swap(int[] arr, int i, int j) {
- int temp = arr[i];
+ L1 h p0 x( Z) R4 [3 ^. k
- arr[i] = arr[j];
- arr[j] = temp;
' [6 {, R ~6 y9 T' ?
- }
5 M& z. [/ d) {0 A/ r
-
- public static void main(String[] args) {
( D& z! {( g- S+ @
- int[] arr = {9, 5, 1, 8, 3, 2, 7};
2 @# O, a: [& l3 g2 C
- quickSort(arr, 0, arr.length - 1);
* t8 d) \7 Y: G5 W5 A7 A& E+ n, b
- System.out.println("排序后的数组:");
- for (int num : arr) {
- System.out.print(num + " ");
2 K0 Z& `* U! k c
- }
- }
- }
复制代码
请注意,这只是快速排序算法的一种实现方式,您也可以使用其他方法来实现。 i6 p( e+ Y1 c) @7 h U
. V% q% ]$ H% i8 R4 x5 @
/ P* L8 F0 m- H; \
|