P1116 车厢重组-C语言
1、问题
2、解题过程
结果:
过程:
//洛谷 P1116 车厢重组
#include <stdio.h>
#define NUM 10000 //车厢最大数目
int main()
{
int n;//车厢数目 n<=10000
int train[NUM];//车厢顺序
int i,j;
int temp;//临时变量
int counter=0;//计数器
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &train[i]);
}
//冒泡排序 从小到大
for (i = 0; i < n-1; i++) {//需要交换的次数 只需交换n-1次
for (j = 0; j < n - 1 - i; j++) {
if (train[j] > train[j+1]) {//需要进行交换
counter++;
temp = train[j];
train[j] = train[j + 1];
train[j + 1] = temp;
}
}
}
//printf("需要交换%d次\n", counter);
printf("%d", counter);
/*for (i = 0; i < n; i++) {
printf("%d ", train[i]);
}*/
return 0;
}