回答

收藏

如何用java实现快速排序算法

知识点 知识点 97 人阅读 | 0 人回复 | 2023-12-04

您可以使用以下的Java代码来实现快速排序算法:

5 Z' H, r. p8 ?) |
  1. public class QuickSort { 1 P3 d) J# Q9 k( o
  2.    
  3.     public static void quickSort(int[] arr, int low, int high) {
  4.         if (low < high) { , L+ `0 O2 I! q6 c/ ?' x2 b% ~
  5.             int pivot = partition(arr, low, high);
  6.             quickSort(arr, low, pivot - 1); " A* O- H; c6 F* Q8 t3 B
  7.             quickSort(arr, pivot + 1, high); 9 d5 u9 K( L/ L0 ^
  8.         } , B1 _$ u* u3 o* ?
  9.     } 7 ]  H; D8 t% U' p7 Y
  10.    
  11.     public static int partition(int[] arr, int low, int high) { ' x7 d# Q8 H* A9 L$ c" r  s
  12.         int pivot = arr[high];
  13.         int i = low - 1;
  14.         for (int j = low; j < high; j++) {
  15.             if (arr[j] < pivot) { ! y% k2 M3 @2 e* i6 C
  16.                 i++;
  17.                 swap(arr, i, j);
  18.             }
  19.         } 6 q: j) ^: N1 [/ k8 e* l; e
  20.         swap(arr, i + 1, high);
  21.         return i + 1;
  22.     } ( v: n" o8 r/ g
  23.     8 C9 g' r: ?/ K1 n2 U9 o; v4 |5 L
  24.     public static void swap(int[] arr, int i, int j) {
  25.         int temp = arr[i];
  26.         arr[i] = arr[j];
  27.         arr[j] = temp; 0 d3 P6 W2 f* o- M
  28.     } ! W$ ^+ r$ c2 {8 m9 w' U, Q
  29.    
  30.     public static void main(String[] args) {
  31.         int[] arr = {9, 5, 1, 8, 3, 2, 7}; & d. C* |2 S: G9 g) H+ ]
  32.         quickSort(arr, 0, arr.length - 1);
  33.         System.out.println("排序后的数组:");
  34.         for (int num : arr) { & u9 ?; {) S) y
  35.             System.out.print(num + " "); 0 G' S1 k5 q4 v
  36.         }
  37.     }
  38. } 5 z. B+ F! F2 W- }/ ?! M
复制代码
请注意,这只是快速排序算法的一种实现方式,您也可以使用其他方法来实现。1 v1 `: I3 u9 V4 |! Q7 B* K
; S3 E5 E, t# ]* y8 e. R
% V# a5 a0 V% n* N/ O! p, p3 b
关注下面的标签,发现更多相似文章
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则