4、排序算法(C++) 📅 2026/6/28 16:31:13 1. 冒泡排序BubbleSort冒泡排序的思想是不断比较相邻两个元素如果前面的元素比后面大就交换它们的位置。每完成一轮遍历当前最大的元素都会被交换到数组末尾就像气泡不断往上浮一样所以叫冒泡排序。#include iostream using namespace std; void BubbleSort(int arr[], int n) { for (int i 0; i n - 1; i) // 外层控制排序轮数 { for (int j 0; j n - 1 - i; j) // 内层比较相邻元素 { if (arr[j] arr[j 1]) { swap(arr[j], arr[j 1]); } } } } int main() { int arr[] {5, 3, 8, 6, 2}; int n sizeof(arr) / sizeof(arr[0]); // 20除以4 5 按字节计算 BubbleSort(arr, n); for (int i 0; i n; i) cout arr[i] ; return 0; }冒泡排序的核心思想是比较相邻元素如果顺序不对就交换每一轮都会把一个最大的元素放到数组末尾因此总共需要 n-1 轮。它的平均和最坏时间复杂度都是 O(n²)空间复杂度是 O(1)属于稳定排序。实际开发中由于效率较低很少直接使用C 的std::sort一般采用的是 IntroSort比冒泡排序效率高得多。int n sizeof(arr) / sizeof(arr[0]);核心是计算字节数int是4个字节5个数就是20个字节n 20/4 5 这样传参数比较严谨