packages4;importjava.util.ArrayList;importjava.util.List;importjava.util.Random;publicclassQuickSort{publicstaticvoidmain(String[] args){// TODO Auto-generated method stubList<Integer> list =newArrayList<Integer>();Random r =newRandom();for(int i =0; i <100; i++){
list.add(r.nextInt(100));}System.out.println(list);
list =qSort(list);System.out.println(list);}//快速排序staticpublicList<Integer>qSort(List<Integer> list){if(list.size()<=1){return list;}else{//设置基准值int base = list.remove(0);//获得比基准值大的List<Integer> big =newArrayList<Integer>();for(int i : list){if(i > base){
big.add(i);}}//获得比基准值小的List<Integer> small =newArrayList<Integer>();for(int i : list){if(i <= base){
small.add(i);}}//将小的队列+基准值+大的队列=排好序的队列List<Integer> ans =newArrayList<Integer>();
ans.addAll(qSort(small));
ans.add(base);
ans.addAll(qSort(big));return ans;}}}
实现思路基线条件当传入的队列大于等于1时返回该队列递归条件1、选出基准值2、获得比基准值大的队列3、获得比基准值小的队列4、不断将分得的两个队列再次划分,直到无法划分为止5、最后小的队列+基准值+大的队列=排好的队列6、输出排好的队列代码package s4;import java.util.ArrayList;import java.util.List;import java.util.Random;public class QuickSort { public