Java冒泡排序算法
在排序算法中冒泡排序是最开始接触的第一个排序算法
以数组为例:
逻辑图如图
为了优化代码每次完成一次内部排序的时候可以进行判断排序是否已经完成`boolean flag = false;//进行判断它是否进入到一次内部的排序
//int [] a=new int[]{453,342,-4,-78,564,564,76,-99};
for (int j = 0; j < a.length - 1; j++) {
for (int i = 0; i < a.length - 1; i++) {
if (a[i] > a[i + 1]) {
flag = true;//若进行了一次内部的排序则flag=true
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
//判断有没有进行内部排序,是结束的标志
if (!flag) {
break;
} else {
flag = false;//若进去了再叫他运行一次
}`
运行冒泡排序算法时间复杂度为O(n^2)