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]<<" ";
    }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    • 0
      @ 2025-5-8 22:18:01

      JAVA AC代码:

      import java.util.*;
      import java.util.StringTokenizer;
      import java.io.*;
      
      public class Main {
      
      	public static void main(String[] args) {
      		int n=in.nextInt();
      		List<Integer> list=new ArrayList<>();//这里也可以arr[]一维数组
          //一维数组的下标需要是1-n;用0到n-1会超O(n方)
      		for(int i=0;i<n;i++) list.add(in.nextInt());
      		Collections.sort(list);//一维数组的代码位Arrays.sort(arr);
      		for(int i=0;i<n;i++) out.print(list.get(i)+" ");
      		out.close();
      
      	}
      	
      	
      
      	static FastReader in=new FastReader();
      	static PrintWriter out=new PrintWriter(System.out);
      	static class FastReader{
      		static BufferedReader br;
      		static StringTokenizer st;
      		FastReader(){
      			br=new BufferedReader(new InputStreamReader(System.in));
      		}
      		String next() {
      			String str="";
      			while(st==null||!st.hasMoreElements()) {
      				try {
      					str=br.readLine();
      				}catch(IOException e) {
      					throw new RuntimeException(e);
      				}
      				st=new StringTokenizer(str);
      			}
      			return st.nextToken();
      		}
      		int nextInt() {
      			return Integer.parseInt(next());
      		}
      		double nextDouble() {
      			return Double.parseDouble(next());
      		}
      		long nextLong() {
      			return Long.parseLong(next());
      		}
      	}
      	
      }
      
      
      • 1

      信息

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