题目描述

题意其实很简单,就是求冒泡排序的交换次数
#include<algorithm>
#include<iostream>
using namespace std;
int arr[55];
int num=0;
void bubble_sort(int arr[],int len){
for(int i=0;i<len-1;i++)
for(int j=0;j<len-1-i;j++)
if(arr[j]>arr[j+1]){
swap(arr[j],arr[j+1]);
num++;}
}
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>arr[i];
num=0;
bubble_sort(arr,n);
cout<<"Optimal train swapping takes "<<num<<" swaps."<<endl;
}
}
本文介绍了一个使用C++实现的冒泡排序算法,并详细解释了如何计算在进行冒泡排序过程中元素交换的具体次数。该算法通过两层循环来遍历数组,当遇到相邻两个元素顺序错误时即进行交换并计数。
1215

被折叠的 条评论
为什么被折叠?



