数据结构-排序(2):冒泡排序
2016-12-23 19:57
274 查看
void BubbleSort(int a[], int arrSize) { bool flag = ture; for(int i = 0; i < arrSize - 1; i++) { flag = true; for(int j = 0; j < arrSize - 1 - i; j++) { if(a[j] > a[j + 1]) { swap(a[j], a[j + 1]); flag = false; } } for(int i = 0; i < arrSize; i++) { cout << a[i] << " "; } cout << endl; if(flag) break; } }
时间复杂性:
最好情况(正序排列):O(n)
比较次数:n - 1
交换次数:0
最坏情况(逆序排列):O(n^2)
比较次数:n(n-1)/2
交换次数:3n(n-1)/2
平均情况:O(n^2)
稳定性:稳定
相关文章推荐
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- 数据结构 求链表的长度以及用冒泡排序的算法对链表中的值进行排序
- 数据结构与算法——冒泡排序,选择排序,直接插入排序
- 数据结构 排序(冒泡排序升级版)
- 数据结构排序-冒泡排序
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- 我---对‘数据结构’中‘排序’的理解 ---------1:冒泡排序
- 数据结构--排序算法之冒泡排序
- 算法和数据结构---排序---冒泡排序
- PHP数据结构基本算法一:矩阵转置 求素数 冒泡排序 选择排序
- 【数据结构和算法】排序算法之一:冒泡排序
- 数据结构例程——交换排序之冒泡排序
- 数据结构和算法-002 数组排序 冒泡排序
- 数据结构只选择排序、冒泡排序、插入排序
- 【数据结构和算法】排序算法之一:冒泡排序
- 数据结构 排序(冒泡排序改进,简单选择排序链表实现)
- 数据结构 排序算法之冒泡排序
- 【python 数据结构 1:排序】冒泡排序和快速排序
- 【数据结构】常用比较排序算法(包括:选择排序,堆排序,冒泡排序,选择排序,快速排序,归并排序)
- 第十节 数据结构之冒泡排序、选择排序