冒泡排序时时间复杂度为O(n2)级别的算法,方法为:
先遍历0-(N-1)的数据
第一个数和第二个数比较,哪个大哪个放后边;
第二个数和第三个数比较,哪个大哪个放后边;
,,,,,,
这样交换一轮后最大的就在数组的最后位置;
然后再遍历1-(N-1)的数据,,,,
如此往复,直到有序为止;
Java语言简单实现:
public class BubbleSort{
//参数为乱序数组a,及其长度n
public int[] sort(int[] a,int n){
for(int i = n-1; i >= 0; i--){
for(int j = 0; j <= i; j++){
if(a[j+1] <= a[j]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return a;
}
}
网友评论