冒泡排序算法的原理如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
冒泡排序流程图:
以上来自百度百科;
代码如下:
package qaq;
public class Maopa {
public static void main(String[] args) {
int []a = {13,76,97,65,38,49};
for(int num:a){
System.out.print(num+" ");
}
System.out.println();
for(int i=1;i<a.length;i++){//外层循环从1开始
for(int j=0;j<a.length-1;j++){//内层循环从0开始
if(a[j]>a[j+1]){//如果左边的值大于右边则换位
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(int num:a){
System.out.print(num+" ");
}
}
}
输出结果:
13 76 97 65 38 49
13 38 49 65 76 97