4 冒泡排序
第一趟冒泡使得关键字最小元素冒到最前面
算法实现
交换
void swap(int &a,int &b){ int temp=a; a=b; b=temp; }
简单冒泡
void BubbleSort(int A[],int n){ for(int i=0;i<n-1;i++){ boolean flag=false; for(int j=n-1;j>n-i+1;j--){ if(A[j-1]>A[j]){ swap(A[j-1],A[j]); flag=true; } } //如果flag等于false,说明没有发生交换 if(flag==false){ return; } } }
空间复杂度
O(1)
最好情况 原本有序 O(n)
最坏情况 原本无序 O(n2)
平均时间复杂度 O(n2)