#include<stdio.h>
#include<stdlib.h>
void swap(int&a, int&b)
{
int c;
c = a;
a = b;
b = c;
}
int bubble_sort(int a[], int len)
{
int flag;
for(int i = 0; i < len - 1; i++)
{
flag= false;
for (int j = len - 1; j > i; j--)
{
if (a[j] < a[j-1])
{
swap(a[j], a[j-1]);
flag = true;
}
}
}
if (flag == false)
return -1;
return 0;
}
int main()
{
int a[10] = { 2, 1, 3, 6, 4, 9, 7, 5, 8, 10 };
int len = sizeof(a) / sizeof(int);
bubble_sort(a, len);
for (int i = 0; i < len ; i++)
printf("%d\t", a[i]);
system("pause");
return 0;
}
时间效率:最好情况下时间复杂度为O(n),平均情况下时间复杂度为O(n2)。
稳定性:冒泡排序是一个稳定的排序算法。