1.快速排序
class Solution { public void quickSort(int[] num, int left, int right) { int i, j, tmp; if(left > right) return; tmp = num[left]; //基准点 i = left; j = right; while(i != j) { while(i<j && num[j] >= tmp) j--; while(i<j && num[i] <= tmp) i++; if(i < j) swap(num, i, j); } swap(num, left, j); quickSort(num, left, right - 1); quickSort(num, left + 1, right); return; } public static void swap(int[] num, int i, int j) { int tmp = num[i]; num[i] = num[j]; num[j] = tmp; } public static void main(String[] args) { Solution s = new Solution(); int[] num = {2,1,5,3,4}; s.quickSort(num, 0, 4); for(int i=0; i<5; i++) { System.out.println(num[i]); } } }
1 2 3 4 5