1 solutions

  • 0
    @ 2024-12-10 23:39:22

    C :

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int s[100005],n,i;
    int cmp(const void *a,const void *b)
    {
         return(*(int *)a-*(int *)b);//ÉýÐò£»b-a½µÐò
    }
    int main()
    {
        scanf("%d",&n);
        for(i=0;i<n;i++)
    	    scanf("%d",&s[i]);
        qsort(s,n,sizeof(s[0]),cmp);
        for(i=0;i<n;i++)
    	    printf("%d ",s[i]);
      printf("\n");
        return 0;
    }
    
    

    C++ :

    #include <cstdio>
    #include <cstdlib>
    #include <stack>
    #include <algorithm>
    using namespace std;
    const int MAXN = 100000;
    int val[MAXN];
    int n;
    void Merge(int l, int mid, int r, int t[]) {
    	int i = l, j = mid + 1, k = 0;
    	while (i <= mid && j <= r) {
    		if (val[i] <= val[j])
    			t[k++] = val[i++];
    		else
    			t[k++] = val[j++];
    	}
    	while (i <= mid)
    		t[k++] = val[i++];
    	while (j <= r)
    		t[k++] = val[j++];
    	for (i = 0; i < k; i++)
    		val[l + i] = t[i];
    }
    void MSort(int l, int r, int t[]) {
    	if (l < r) {
    		int mid = (l + r) / 2;
    		MSort(l, mid, t);
    		MSort(mid + 1, r, t);
    		Merge(l, mid, r, t);
    	}
    }
    void MergeSort()
    {
    	int *memory = new int[n];
    	if (memory == NULL)
    		return;
    	MSort(0, n - 1, memory);
    	delete[] memory;
    }
    int main() {
    	scanf("%d", &n);
    	for (int i = 0;i < n;i++) {
    		scanf("%d", &val[i]);
    	}
    	MergeSort();
    	for (int i = 0;i < n;i++) {
    		printf("%d ", val[i]);
    	}
    	puts("");
    	return 0;
    }
    

    Pascal :

    var a:array[1..100000] of longint;
        i,n:longint;
    procedure qsort(l,r:longint);
    var i,j,mid,p:longint;
    begin
      i:=l; j:=r;
      mid:=a[(l+r) div 2];
      while i<=j do
      begin
        while a[i]<mid do inc(i);
        while a[j]>mid do dec(j);
        if i<=j then
        begin
          p:=a[i];
          a[i]:=a[j];
          a[j]:=p;
          inc(i);
          dec(j);
        end;
      end;
      if l<j then qsort(l,j);
      if i<r then qsort(i,r);
    end;
     
    begin
      read(n);
      for i:=1 to n do
        read(a[i]);
      qsort(1,n);
      for i:=1 to n do
        write(a[i],' ');
    end.
    

    Java :

    
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
      private static Scanner s = new Scanner(System.in) ;
      
      public static void main(String[] args) {
    	 int num = s.nextInt() ;
    	 if(num<=100000){
    	 int a[] = new int[num] ;
    	 for (int i = 0; i < num; i++) {
    		a[i] = s.nextInt() ;
    	 }
    	 
    	 Arrays.sort(a);
    	 
    	 for (int i = 0; i < a.length; i++) {
    		System.out.print(a[i]+" "); 
    	  }
    	 System.out.println();
    	 }
      }
    }
    
    
    • 1

    Information

    ID
    613
    Time
    1000ms
    Memory
    32MiB
    Difficulty
    10
    Tags
    # Submissions
    2
    Accepted
    2
    Uploaded By