题目如下:
这道题其实不难,因为是相邻的两节交换,所以只能用冒泡。
解法一:
//冒泡排序法
#include <iostream>
using namespace std;
const int N = 1e5 + 2;
int n, sum, a[N];
void swap(int *a, int *b) {//交换函数
int *item = a;
a = b;
b = item;
}
int main() {
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++) for (int j = 0; j < i; j++)
if (a[j] > a[i]) {
swap(a[j], a[i]);
sum++;
}
cout << sum;
return 0;
}