八大排序算法 - 冒泡排序

发布时间:2026/5/19 23:24:51

八大排序算法 - 冒泡排序 一、算法简介冒泡排序是最基础的交换类排序思路简单易懂。原理是相邻元素两两比较逆序则交换大数逐步向后沉小数向前冒如同气泡上浮。时间复杂度最优(O(n)) 最坏 / 平均(O(n^2))空间复杂度(O(1))稳定性稳定排序二、核心思路从头开始依次比较相邻两个元素前大后小就交换位置每一轮遍历结束确定一个最大值排到末尾重复遍历直至全部有序三、实现#include iostream #include vector using namespace std; void bubbleSort(vectorint arr) { int n arr.size(); for(int i 0; i n - 1; i) { bool flag false; // 优化标记 for(int j 0; j n - 1 - i; j) { if(arr[j] arr[j1]) { swap(arr[j], arr[j1]); flag true; } } if(!flag) break; // 无交换直接退出 } } void print(vectorint arr) { for(int x : arr) cout x ; cout endl; } int main() { vectorint a {5,2,9,1,6,3}; cout 排序前; print(a); bubbleSort(a); cout 排序后; print(a); return 0; }四、优缺点优点逻辑最简单极易理解手写原地排序不占用额外空间自带优化有序数组可快速结束排序稳定缺点效率极低数据量大性能很差交换次数多耗时严重五、使用场景初学排序入门练习数据量极小的简单排序几乎不用于实际项目开发

相关新闻