第一次书写的冒泡排序代码 , 循环次数为49次 , 这样写效率较低
public static void main(String[] args) {
int count = 0;
Integer[] members = new Integer[]{11, 22, 33, 88, 99, 13, 15, 12};
for (int i = 0; i < members.length - 1; i++) {
for (int j = 0; j < members.length - 1; j++) {
int temp = 0;
if (members[j + 1] < members[j]) {
temp = members[j];
members[j] = members[j + 1];
members[j + 1] = temp;
}
count = count + 1;
System.out.println("循环次数:" + count);
}
}
for (Integer no : members) {
System.out.println(no);
}
}
代码进行优化以后 , 在第二个循环里面减去第一次循环的长度 , 效率提升了一倍
public static void main(String[] args) {
int count = 0;
Integer[] members = new Integer[]{11, 22, 33, 88, 99, 13, 15, 12};
for (int i = 0; i < members.length - 1; i++) {
for (int j = 0; j < members.length - 1 - i; j++) {
int temp = 0;
if (members[j + 1] < members[j]) {
temp = members[j];
members[j] = members[j + 1];
members[j + 1] = temp;
}
count = count + 1;
System.out.println("循环次数:" + count);
}
}
for (Integer no : members) {
System.out.println(no);
}
}