冒泡排序
算法思想:选择数组中一个数为基准数(通常选择第一个数)。从数组最后一个开始,将大于这个基准数的数移动到基准数左边,将大于基准数的数移到基准数右边。
算法过程举例:
Java代码实现:
public void quickSort(int[] arr, int left, int right){
if (left > right){
return;
}
int low = left;
int high = right;
int base = arr[left];
int flag = 1;
while (low < high){
switch (flag){
case 1 :
if (arr[high] <= base){
arr[low] = arr[high];
low++;
flag = -flag;
} else {
high--;
}
break;
case -1 :
if (arr[low] >= base){
arr[high] = arr[low];
high--;
flag = -flag;
} else {
low++;
}
break;
default:
break;
}
}
arr[low] = base;
quickSort(arr,left, low - 1);
quickSort(arr,low+1, right);
}