鸡尾酒排序
如果大部分元素已经有序,使用冒泡排序的话,还要按照轮次排序,就有些繁琐了。
推荐使用鸡尾酒排序
public static void sort(int[] array){
int tmp=0;
for (int i = 0; i < array.length/2; i++) {
boolean isSorted=true;
for (int j = i; j <array.length-i-1 ; j++) {
if (array[j]>array[j+1]){
tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
isSorted=false;
}
}
if (isSorted){
break;
}
isSorted=true;
for (int j = array.length-i-1; j >i ; j--) {
if (array[j]<array[j-1]){
tmp=array[j];
array[j]=array[j-1];
array[j-1]=tmp;
isSorted=false;
}
}
if (isSorted){
break;
}
}
}
减少了排序回合数,但是代码量增加了。