背景
一组无序的数据,通过冒泡排序从小到大,输入每次排序后的结果,并且输入最终排序。
/**
*
* 功能描述: 冒泡排序
*
* @param:
* @return:
* @auther: csh
* @date: 2021-08-15 23:29
*/
public class Bubbling {
public static void main(String[] args) {
int temp;
//原始数据
int data[]={6,10,13,2,1,7};
System.out.println("冒泡排序算法");
System.out.println("原始数据为:"+ Arrays.toString(data));
//扫描次数
for(int i =1;i<data.length;i++){
//轮的次数
for(int j=0;j<data.length-i;j++){
if(data[j]>data[j+1]){
temp = data[j];
data[j]=data[j+1];
data[j+1]=temp;
}
if((j+1)==(data.length-i)){
//把各次扫描后的结果打印输出
System.out.println("第"+i+"次排序的结果是:");
for (j=0;j<data.length;j++){
System.out.print(data[j]+" ");
}
System.out.println();
}
}
}
System.out.println("最终排序的结果是:");
for (int datum : data) {
System.out.print(datum+" ");
}
}
}
结果
冒泡排序算法
原始数据为:[6, 10, 13, 2, 1, 7]
第1次排序的结果是:
6 10 2 1 7 13
第2次排序的结果是:
6 2 1 7 10 13
第3次排序的结果是:
2 1 6 7 10 13
第4次排序的结果是:
1 2 6 7 10 13
第5次排序的结果是:
1 2 6 7 10 13
最终排序的结果是:
1 2 6 7 10 13
冒泡排序属于比较简单的排序算法,并且在初中级程序员在面试中经常遇到,在工作中用得不多,但是其原理广泛用于各种开源框架中。