冒泡排序
时间复杂度为O(n2);
import java.util.Arrays;
public class TestBubbleSort {
public static void main(String[] args) {
int[] values = {3,1,6,8,9,0,7,4,5,2};
System.out.println("原始顺序:"+ Arrays.toString(values));
System.out.println("冒泡排序:");
bubbleSort(values);
int[] values2 = {3,1,6,8,9,0,7,4,5,2};
System.out.println("优化冒泡排序:");
bubbleSort2(values2);
}
//冒泡排序
public static void bubbleSort(int[] values) {
int temp;
for (int i=0;i<values.length;i++){
for (int j=0;j<values.length-1-i;j++){
if (values[j]>values[j+1]){
temp = values[j];
values[j] = values[j+1];
values[j+1] = temp;
}
}
System.out.println("第"+(i+1)+"趟排序:"+Arrays.toString(values));
}
}
//优化冒泡排序
public static void bubbleSort2(int[] values) {
int temp;
for (int i=0;i<values.length;i++){
boolean flag = true;
for (int j=0;j<values.length-1-i;j++){
if (values[j]>values[j+1]){
temp = values[j];
values[j] = values[j+1];
values[j+1] = temp;
flag = false;
}
}
if (flag){
continue;
}
System.out.println("第"+(i+1)+"趟排序:"+Arrays.toString(values));
}
}
}

浙公网安备 33010602011771号