#include <iostream>
#define N 5003
using namespace std;
int arr[N]={0};
void bubbleSort(int n)
{
if(n==1) {cout<<0<<" "<<0<<" "<<0<<endl;return;}
int flag=n-1;
int endIndex = n-1;
int comNum=0;
int swapNum=0;
int bubbleNum=0;
while(flag){
//cout<<endIndex<<" "<<flag<<endl;
bubbleNum++;
for(int i=0;i<endIndex;i++){
comNum++;
if(arr[i+1]<arr[i]){
swapNum++;
int tmp = arr[i+1];
arr[i+1] = arr[i];
arr[i] = tmp;
flag = i;
}
}
if(flag==0 || endIndex==flag){
cout<<comNum<<" "<<swapNum<<" "<<bubbleNum;
return;
}
endIndex = flag;
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>arr[i];
bubbleSort(n);
//for(int i=0;i<n;i++) cout<<arr[i]<<endl;
return 0;
}
EOJ_1050_冒泡排序
最新推荐文章于 2024-10-08 00:02:21 发布