1 条题解

  • 0
    @ 2025-10-10 15:45:58

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    
    int main(){
    	int n,a[61],i,j,k,t;
    	cin>>n;
    	for(i = 0;i < n;i++){
    		cin>>a[i];
    	}
    	
    	//排序
    	for(i = 1;i < n;i++) {
    		for(j = 0;j < n - i;j++){
    			if(a[j] > a[j + 1]){
    				t = a[j];
    				a[j] = a[j + 1];
    				a[j + 1] = t;
    			}
    		}
    	}
    	//152 154 157 159 160 162 163 
    	//152 157 160 163 162 159 154
    	for(i = 0;i < n;i = i + 2){
    		cout<<a[i]<<" ";
    	}
    	
    	for(i = n - 2;i >= 0;i = i - 2){
    		cout<<a[i]<<" ";
    	}
    }
    

    Pascal :

    var f,d:array[1..100]of longint; 
        a,i,j,k,t:longint; 
    begin 
    readln(a); 
    for i:=1 to a do 
     read(f[i]); 
    for i:=1 to a-1 do 
     begin 
      k:=i; 
      for j:=i+1 to a do 
       if f[j]>f[k] then k:=j; 
      if i<>k then 
       begin 
        t:=f[i]; 
        f[i]:=f[k]; 
        f[k]:=t; 
       end; 
     end;j:=round((a+1)/2);k:=0; 
    for i:=1 to a do 
     begin 
      if i mod 2<>0 then d[j-k]:=f[i]; 
      if i mod 2=0 then begin k:=k+1;d[j+k]:=f[i]; end; 
     end; 
    for i:=1 to a do 
     write(d[i],' ');writeln; 
    end.
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String args[]){
    		Scanner sc = new Scanner(System.in);
    		int n=sc.nextInt();
    		int[] a=new int[n];
    		for(int i=0;i<n;i++){
    			a[i]=sc.nextInt();
    		}
    		for(int i=0;i<n;i++){
    			for(int j=1;j<n-i;j++){
    				if(a[j-1]<a[j]){
    					int t=a[j];
    					a[j]=a[j-1];
    					a[j-1]=t;
    				}
    			}
    		}
    		int[] b=new int[n/2];
    		int[] c=new int[n/2];
    		for(int i=0;i<n/2;i++){
    			b[i]=a[2*i+1];
    		}
    		for(int i=0;i<n/2;i++){
    			c[i]=a[(i+1)*2];
    		}
    		for(int i=n/2-1;i>=0;i--){
    			System.out.print(c[i]+" ");
    		}
    		System.out.print(a[0]+" ");
    		for(int i=0;i<n/2;i++){
    			System.out.print(b[i]+" ");
    		}
    	}
    	
    }
    
    

    Python :

    n=int(input())
    a=input().split()
    a=list(map(int,a))
    a=sorted(a)
    a.reverse()
    b=[0]*n
    m=n//2
    b[m]=a[0]
    for i in range(1,n,2):
        b[m+(i//2)+1]=a[i]
        b[m-(i//2+1)]=a[i+1]
    for i in b:
        print(i,end=" ")
    
    • 1

    信息

    ID
    264
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者