在所有的算法中,冒泡排序算法是一个比较基础的排序的算法,我的算法之路,也由此开始。
首先来看正确的语法及输出:
public class test01 {输出:
public static void main(String[] args) {
int[]a={5,2,6,8,55,412,365,1,458,41};
for(int i=1;i<a.length-1;i++){
for(int j=0;j<a.length-1;j++){
if(a[j]>a[j+1]){
int b;
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
System.out.print("排序后的数组为:");
for(int k=0;k<a.length;k++){
System.out.print(a[k]+",");
}
}
}
另一个正确的例子
public class test01 {输出:
public static void main(String[] args) {
int[]a={5,2,6,8,55,412,365,1,458,41};
for(int i=1;i<a.length;i++){
for(int j=0;j<a.length-1;j++){
if(a[j]>a[j+1]){
int b;
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
System.out.print("排序后的数组为:");
for(int k=0;k<a.length;k++){
System.out.print(a[k]+",");
}
}
}
一个错误的例子
外层循环 i 小于数组长度,内层循环 j 小于 i
public class test01 {
public static void main(String[] args) {
int[]a={5,2,6,8,55,412,365,1,458,41};
for(int i=1;i<a.length;i++){
for(int j=0;j<i;j++){
if(a[j]>a[j+1]){
int b;
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
System.out.print("排序后的数组为:");
for(int k=0;k<a.length;k++){
System.out.print(a[k]+",");
}
}
}
输出: