冒泡排序(Bubble sort)是一钟简单的排序算法。它重复的走访要排序的数列,每次比较2个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复的进行直到没有再需交换的数据,也就是说该数列已经排序完成。
冒泡排序是最常用也最简单的一种,其思想是:每次将数组前N个中最大(升序)或最小(降序)的数交换到数组的底部,每次数组大小N--,再进行如此操作,直到所有的数都已经排序。其时间复杂度为O(n2),N的平方。C语言实现如下:
void bubble_sort(int *array, int size)
{
int i, j, temp;
for (i = 0; i < size - 1; i++)
{
for (j = 0; j < size - 1 - i; j++)
{
if (array[j] > array[j+1])
{
temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
}