冒泡排序
基本思想:
- 重复地走访要排序的数列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。
- 走访元素的工作要重复地进行直到没有相邻元素需要交换,也就是说该数列已经排序完成。
代码实现:
void BubbleSort(int array[], int size)
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size - 1 - i; j++)
{
if (array[j] > array[j + 1])
{
int t = array[j];
array[j] = array[j + 1];
array[j + 1] = t;
}
}
}
}
特性总结:
- 冒泡排序属于交换排序。
- 时间复杂度:O(N^2)。
- 空间复杂度:O(1)。
- 稳定性:稳定。