import java.util.Arrays; import java.util.Random; /*** * 快速排序随机选择key */ public class QuickSortRandom { static public void main(String[] args){ int[] array={9,0,10,-2,5,19,4,0,7,2,22}; quickSortRandom(array,0,array.length-1); System.out.println(Arrays.toString(array)); } static public void quickSortRandom(int[] array,int l,int h){ if(l>=h) return; int _l=l; int _h=h; int keyIndex=new Random().nextInt(h-l) + l; int key=array[keyIndex]; int temp=array[l]; array[keyIndex]=temp; array[l]=key; while(_l<_h){ while(_l<_h&&array[_h]>=key){ _h--; } temp=array[_h]; array[_h]=array[_l]; array[_l]=temp; while(_l<_h&&array[_l]<=key){ _l++; } temp=array[_l]; array[_l]=array[_h]; array[_h]=temp; } System.out.println("=="); if(l<_l){ quickSortRandom(array,l,_l-1); } if(_h<h){ quickSortRandom(array,_h+1,h); } } }
java 快速排序随机选择key
最新推荐文章于 2023-03-01 21:19:43 发布