2 条题解

  • 0
    @ 2025-9-19 9:57:41

    c++ 冒泡 插入 stl写法

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    int n,a[10010];
    signed main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    /*懒人摆烂法
    sort(a+1,a+1+n);
    */
    /*冒泡排序
    for(int i=1;i<n;i++){
        for(int j=1;j<=n-i;j++){
        if(a[j]>a[j+1]){
            int t=a[j];
            a[j]=a[j+1];
            a[j+1]=t;
        }
        }
    }*/
    //插入排序(非常奇怪的写法。。乱写的)冒泡和插入都是只需要n-1次
    for(int i=1;i<n;i++){
        int maxn=0,t=0;
        for(int j=1;j<=n-i+1;j++){//要搞到最后一位 每次前移1位
          if(a[j]>maxn){
           t=j;
           maxn=a[j];//记录最大数字的下表
          }
        }
        int f;
        f=a[t];
        a[t]=a[n-i+1];
        a[n-i+1]=f;
    
    }
        for(int i=1;i<=n;i++){
        cout<<a[i]<<" ";
    }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    信息

    ID
    48
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    33
    已通过
    20
    上传者