冒泡排序
运行过程:
-
比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置
-
每一次比较,都会产生出一个最大或最小的数字
-
下一轮则可以少一次排序
-
依次循环,知道结束
package com.company;
import java.util.Arrays;
public class demo03 {
public static void main(String[] args) {
int[] array={1,3,8,0,5,9,7,4};
int[] sort=sort(array);
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] a){
int temp=0;
for(int i=1;i<a.length;i++){
boolean flag=false;
for(int j=0;j<=a.length-1-i;j++){
if(a[j]>a[j+1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
flag = true;
}
}
if(flag==false){
break;
}
}
return a;
}
}
补充:
-
这个算法的时间复杂度是:n^2










