交换排序
基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。
冒泡排序
void Swap(int* x, int* y)
{
int tmp = *x;
*x = *y;
*y = tmp;
}
void BubbleSort(int* a, int n)
{
int end = n;
//共n-1趟比较
while (end > 1)
{
for (int i = 1; i < end; i++)
{
if (a[i] < a[i - 1])
{
Swap(&a[i], &a[i - 1]);
}
}
end--;
}
}
冒泡排序的特性总结:
1、时间复杂度:O(N^2)
2、空间复杂度:O(1)
3、稳定性:稳定
来源:CSDN
作者:ZD_012
链接:https://blog.csdn.net/ZD_012/article/details/104145300