本帖最后由 as604049322 于 2014-12-16 15:40 编辑
包括,归并排序、希尔排序、插入排序、快速排序。绝对的高效优化的代码,回帖查看哦!
下面是快速排序的优化:
- public static void quickSort(int[] arr,int start,int end){
- if(end-start>1 || (end-start==1 && arr[start]>arr[end])){
- int leftPos=start,rightPos=end,base=arr[start];
- while(leftPos<rightPos){
- while(leftPos<rightPos && arr[rightPos]>=base)
- rightPos--;
- if(leftPos<rightPos)
- arr[leftPos++]=arr[rightPos];
- while(leftPos<rightPos && arr[leftPos]<base)
- leftPos++;
- if(leftPos<rightPos)
- arr[rightPos--]=arr[leftPos];
- }
- arr[leftPos]=base;
- printArr(arr);
- System.out.println("start:"+start+",end:"+end);
- quickSort(arr,start,leftPos-1);
- quickSort(arr,rightPos+1,end);
- }
- }
复制代码
|