冒泡排序
复杂度
最坏:O(N^2)
最好:O(N)
void BubbleSort(int * a, int n)
{
////one
//for (int i = 0; i < n; i++)
//{
// for (int j = 1; j < n - i; j++)
// {
// if (a[j - 1]>a[j])
// Swap(&a[j - 1], &a[j]);
// }
//}
//two
for (int end = n; end > 0; end--)
{
int exchange = 0;
for (int i = 1; i < end; i++)
{
if (a[i - 1]>a[i])
{
Swap(&a[i - 1], &a[i]);
exchange = 1;
}
}
if (exchange == 0)
{
break;
}
}
}

本文介绍了冒泡排序算法的两种实现方式及其时间复杂度。详细解释了如何通过比较相邻元素并交换位置来对数组进行排序的过程,并包含了一种优化方案以减少不必要的比较。
7101

被折叠的 条评论
为什么被折叠?



