快速排序和冒泡排序一样,也是交换排序的一种。
快速排序的准则就是“找基准数,大小分开;分而治之,递归使用”。基本代码如下:
public static void quickSort(int[]arr,int start,int end){
if(start < end){
int stard = arr[start]; //找到基准数
int low = start; //定义排序下标和上标
int high = end;
while(low < high){
while(low < high && stard <= arr[high]){
high--;
}
arr[low] = arr[high];
while(low < high && stard >= arr[low]){
low++;
}
arr[high] = arr[low];
}
arr[low] = stard; //第一轮排序结束
quickSort(arr,start,low); //递归调用
quickSort(arr,low+1,end);
}
}