首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言經典氣泡排序法實作與優化

     編輯:關於C語言

氣泡排序演算法

氣泡排序透過重複遍歷陣列,比較相鄰元素並交換位置,將較大元素逐步「浮」至陣列末端。優化版本加入旗標,若某輪無交換則提前結束。

程式碼實作

void BubbleSort(int* arr, int len) {
    bool swapped = true;
    do {
        swapped = false;
        for (int i = 0; i < len - 1; ++i) {
            if (arr[i] > arr[i + 1]) {
                int temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
                swapped = true;
            }
        }
    } while (swapped);
}

複雜度分析

  • 時間複雜度:最佳 O(n)(已排序)、平均/最差 O(n²)。
  • 空間複雜度:O(1),原地排序。
  • 穩定性:穩定排序(相等元素相對位置不變)。

適合小規模資料或教學示範;大量資料建議改用快速排序、合併排序等 O(n log n) 演算法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved