排序算法 -- (五)冒泡排序
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、结果
相关文章推荐
- 排序算法(五)冒泡排序
- 用JavaScript实现十大经典排序算法--冒泡排序
- 排序算法-冒泡排序
- 【排序算法】冒泡排序的实现与分析
- C语言中的排序算法--冒泡排序,选择排序,希尔排序
- 排序算法---冒泡排序
- 排序算法之冒泡排序(C/C++)
- 排序算法——冒泡排序(Bubble Sort)
- 排序算法-----冒泡排序和选择排序
- 排序算法总结之冒泡排序
- 排序算法__冒泡排序
- 排序算法之冒泡排序
- java 排序算法实现 其一:冒泡排序
- 排序算法之从冒泡排序所想到的
- 排序算法:冒泡排序
- 排序算法:冒泡排序、选择排序
- 排序算法之冒泡排序(Java)
- 各种排序算法实现——基数排序、归并排序、插入排序、冒泡排序、选择排序、快速排序、堆排序、希尔排序
- 排序算法:冒泡排序
- 经典排序算法——冒泡排序