1、冒泡排序:
通过比较依次相邻两个元素的大小,交换数据位置,依次找出最大值、次最大值.......
如果有n个元素,需要比较n-1趟。
public class bubbleSort {
private static void bubble(Integer[] arrs){
int temp=0;
for(int i=arrs.length-1;i>0;i--){//遍历趟数
for (int j=0;j<i;j++){
if(arrs[j]>arrs[j+1]){//交换数据
temp = arrs[j];
arrs[j]=arrs[j+1];
arrs[j+1]=temp;
}
}
}
}
public static void main(String[] args) {
Integer[] a =new Integer[]{9,3,5,2,8,7};
bubble(a);
for (int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
2、空间复杂度:数据仅加载1次O(1)
时间复杂度:如果本身就是有序的,数据仅需要从头到尾扫描一遍即可,所以最好情况下,时间复杂度为O(n),
最坏情况下时间复杂度为O(n^2)