快速排序的Java实现
程序员文章站
2022-03-20 08:53:44
1 package quicksort; 2 3 import org.junit.Test; 4 5 import java.util.Arrays; 6 7 public class QuickSort { 8 9 @Test 10 public void setUp() throws Exce... ......
1 package quicksort; 2 3 import org.junit.test; 4 5 import java.util.arrays; 6 7 public class quicksort { 8 9 @test 10 public void setup() throws exception { 11 int[] arr = new int[]{32, 26, 83, 55, 42, 67, 73, 92, 60}; 12 quicksort(arr, 0, arr.length - 1); 13 system.out.println(arrays.tostring(arr)); 14 } 15 16 public void quicksort(int[] arr, int low, int high) { 17 if (low < high) { 18 int temp = quickpartition(arr, low, high); 19 quicksort(arr, low, temp - 1); 20 quicksort(arr, temp + 1, high); 21 } 22 } 23 24 public int quickpartition(int[] arr, int low, int high) { 25 int key = arr[low]; 26 while (low < high) { 27 while (low < high && arr[high] >= key) { 28 high--; 29 } 30 arr[low] = arr[high]; 31 while (low < high && arr[low] <= key) { 32 low++; 33 } 34 arr[high] = arr[low]; 35 } 36 arr[low] = key; 37 return low; 38 } 39 }