冒泡排序
基本思想:
- 重複地走訪要排序的數列,依次比較兩個相鄰的元素,如果他們的順序錯誤就把他們交換過來。
- 走訪元素的工作要重複地進行直到沒有相鄰元素需要交換,也就是說該數列已經排序完成。
代碼實現:
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)。
- 穩定性:穩定。