package .sort;
import ;
/**
*
* @ClassName: BubbleSortTest
* @Description: 冒泡排序
* @Author: liulianglin
* @DateTime 2022年9月6日 下午7:49:17
*
* 算法思想:
1.比较相邻的两个元素,如果第一个元素大于第二个元素,就交换位置
2.对每一对相邻的元素再做同样的比较,从最开始的一对到结尾的一对完成全部的比较。最后一个元素肯定最大的
3.对剩下的元素重复第二步操作,直到只有一个元素为止
*/
public class BubbleSortTest {
public static void main(String[] args) {
int[] arr = {12,3,33,11,32,9,8,5};
("排序前:" + (arr));
// 控制循环趟数
for (int i=0; i < arr.length-1; i++) {
// 是否发生交换
boolean isSwap = false;
for (int j=0; j<arr.length-1-i; j++) {
if (arr[j] > arr[j+1]) {
// 进行交换
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
isSwap = true;
}
}
("第"+i+"次:"+(arr));
if (!isSwap) {
// 如果没有发生交换,则说明已经是有序的了,不用再进行额外的排序,做无用功
break;
}
}
}
}