public static void main(String[] args) { int[] a = create(20); System.out.println(Arrays.toString(a)); System.out.println("=============================="); sort(a, 0, a.length - 1); System.out.println(Arrays.toString(a)); } static void sort(int a[] , int begin , int end ){ if(begin > end) return; int beginInner = begin; int endInner = end; boolean flag = false; while(beginInner < endInner){ if(a[beginInner] > a[endInner]){ int temp = a[beginInner]; a[beginInner] = a[endInner]; a[endInner] = temp; flag = !flag; } if(flag){ beginInner ++ ; }else{ endInner -- ; } } sort(a, begin, -- beginInner); sort(a, ++ endInner , end); } public static int[] create(int size,int bround){ int [] a = new int[size]; Random random = new Random(); for (int i = 0; i < a.length; i++) { a[i] = random.nextInt(bround); } return a; } public static int[] create(int size){ return create(size,100); }
JAVA 快速排序法
最新推荐文章于 2024-07-14 22:26:46 发布