Java冒泡排序算法

时间:2021-11-15 12:57:19

在所有的算法中,冒泡排序算法是一个比较基础的排序的算法,我的算法之路,也由此开始。

首先来看正确的语法及输出:

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]+",");
}

}
}
输出:

Java冒泡排序算法

另一个正确的例子

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]+",");
}

}
}
输出:
Java冒泡排序算法



一个错误的例子

外层循环 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]+",");
}

}
}

输出:

Java冒泡排序算法