#include #define endl '\n' using namespace std; int n; int arr[100100]; void print(){ for(int i = 1; i <= n; i++){ cout << arr[i] << " "; } cout << endl; } void bubbleSort(){ for(int i = 1; i <= n - 1; i++){ // i表示趟数 bool ok = true; // 没有进行交换过 for(int j = 1; j <= n - i; j++){ // 要比较的这个数的下标 if(arr[j] > arr[j+1]){ swap(arr[j], arr[j+1]); ok = false; } } if(ok){ break; } cout << "第" << i << "趟:"; print(); } } int main(){ cin >> n; for(int i = 1; i <= n; i++){ cin >> arr[i]; } bubbleSort(); return 0; } // 时间复杂度 // O(n*n) 最好时间复杂度 O(n) 最差时间复杂度O(n*n) // 稳定的排序算法