酷代码 AI
菜单

现有 n 个非负整数, a[1], a[2] ... a[n],请你使用冒泡排序从小到大进行排序。要求从前往后遍历数组,如果前一个元素大于后一个元素,那么进行元素交换。求第一轮冒泡排序之后,一共要进行多少次元素交换。 输入格式 共两行, 第一行,包含一个正整数 n,表示序列的个数。 第二行,包含 n 个非负整数,数与数之间用空格隔开。 输出格式 输出包括一行, 包含一个整数,输出第一轮冒泡排序需要交换元素的次数。c++

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int arr[n]; for (int i = 0; i < n; i++) { cin >> arr[i]; } int swapCount = 0; // 第一轮冒泡排序 for (int i = 0; i < n - 1; i++) { if (arr[i] > arr[i + 1]) { // 交换元素 int temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; swapCount++; } } cout << swapCount << endl; return 0; } ``` [2026-01-17 14:19:11 | AI问答 | 163点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多