题解 | #C++冒泡排序#
C++冒泡排序
https://www.nowcoder.com/practice/eb72dada09de43ceacf93f9a143ee321
#include <iostream> #include <algorithm> #include <utility> using namespace std; //冒泡排序需要比较所有相邻的元素并交换它们 void bubblesort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { bool swapped = false;//表示是否发生交换 for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr[j], arr[j + 1]); swapped = true; //发生了交换 } } if (!swapped) break; //如果经过一轮都没有要交换的,说明此时已经排顺序完成 } } int main() { int arr[6] = { 0 }; int len = sizeof(arr) / sizeof(int); for (int i = 0; i < len; i++) { cin >> arr[i]; } // write your code here...... bubblesort(arr, len); for (int i = 0; i < len; i++) { cout << arr[i] << " "; } cout << endl; return 0; }