Java实现冒泡排序,如果其中有一次遍历没有交换过元素,那么说明已经都排好了,不用再继续遍历下去了,可以加个flag进行判断:
import java.util.Arrays;public class Test{public static void main(String[] args) {int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 };bubbleSort(values);System.out.println(Arrays.toString(values));}public static void bubbleSort(int[] values) {int temp;for (int i = 0; i < values.length; i++) {boolean flag = false;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 = true;}if(flag) {break;}}}}
}
输出结果:
[0, 1, 2, 3, 6, 9, 7, 4, 5, 8]