您的位置:首页 > 其它

排序算法 -- (五)冒泡排序

2017-06-29 11:34 190 查看

冒泡排序



使用冒泡排序为一列数字进行排序的过程

最坏时间复杂度: O(n^{2})

最优时间复杂度: O(n)

平均时间复杂度:O(n^{2})

空间复杂度 总共 :O(n),需要辅助空间 :O(1)

1、原理

1、将序列中所有元素两两比较,将最大的放在最后面。

2、将剩余序列中所有元素两两比较,将最大的放在最后面。

3、重复第二步,直到只剩下一个数。


2、实现

冒泡排序:

/* 冒泡排序 */
public class BubbleSort {

public static void sort(int[] a){

int len = a.length;

for(int i=0; i < len; i++){
// 第二次循环都会少一次(因为最大的在后面)
for(int j = 0 ; j<len-1-i; j++){

// 大的往后移动
if (a[j]>a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}

}

}

}


3、结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: