冒泡排序次数
  • 板块学术版
  • 楼主Wxy13589159456
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/18 10:52
  • 上次更新2024/7/18 11:38:57
查看原帖
冒泡排序次数
1251425
Wxy13589159456楼主2024/7/18 10:52
#include<bits/stdc++.h>
using namespace std;
long long n,ans;
int a[100001];
bool s,c=1;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        if(i>1 && a[i]>a[i-1])
            c=0;
    }
    if(c){
        cout<<n*n;
        return 0;
    }
    //冒泡排序
    for(int i=1;i<=n;i++){
        s=1;
        for(int j=1;j<n;j++){
            //cout<<a[j]<<" "<<a[j+1]<<endl;
            if(a[j]>a[j+1]){
                ans++;
                s=0;
                swap(a[j],a[j+1]);
            }
        }
        if(s)break;
    }
    cout<<ans;//交换次数
    return 0;
}

TLE 求助qAq

2024/7/18 10:52
加载中...