冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。
package com.ycu.maopao;
public class MaoPao {
public static void main(String[] args) {
int [] arr = {2,5,1,7,3};
int temp;
int change;
for(int j=0;j<arr.length-1;j++){
//外层循环是排序的趟数
change = 0;
for(int i=0;i<arr.length-j-1;i++){ //-j即减少不必要的比较
//内层循环是当前趟数需要比较的次数
if(arr[i]>arr[i+1]){
temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
change = 1;
}
//第一趟:2 1 5 3 7
}
if(change == 0){
break;//如果元素都没有交换位置,即已经排好序,直接结束循环
}
}
for(int i=0;i<arr.length;i++){
System.out.print(" "+arr[i]);
}
}
}