前言
基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。
冒泡排序
- 冒泡排序是一种非常容易理解的排序
- 时间复杂度:O(N^2)
- 空间复杂度:O(1)
- 稳定性:稳定
void BubbleSort(int* a,int n)
{
int end = n - 1;
while(end)
{
int exchange = 0;
for(int i = 0;i<end;i++)
{
if(a[i] > a[i + 1])
{
swap(&a[i],&a[i+1]);
exchange = 1;
}
}
end--;
if(exchange == 0)
break;
}
}