您的位置:首页 > 理论基础 > 数据结构算法

数据结构-排序(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)

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