Code[VS] 1076 排序

来源:互联网 发布:alphabeta算法黑白棋 编辑:程序博客网 时间:2024/05/14 02:25

题目描述 Description

给出n和n个整数,希望你从小到大给他们排序

输入描述 Input Description

第一行一个正整数n

 

第二行n个用空格隔开的整数

输出描述 Output Description

输出仅一行,从小到大输出n个用空格隔开的整数

样例输入 Sample Input

3

3 1 2

样例输出 Sample Output

1 2 3

数据范围及提示 Data Size & Hint

1<=n<=100000

    这道题就是测试大家基本程序的编写能力。用QSORT就很好。下面贴上我的AC代码。

var a:array[1..100000]of integer;    n,i:longint;procedure sort(l,r: longint);      var         i,j,x,y: longint;      begin         i:=l;         j:=r;         x:=a[(l+r) div 2];         repeat           while a[i]<x do            inc(i);           while x<a[j] do            dec(j);           if not(i>j) then             begin                y:=a[i];                a[i]:=a[j];                a[j]:=y;                inc(i);                j:=j-1;             end;         until i>j;         if l<j then           sort(l,j);         if i<r then           sort(i,r);      end;begin  readln(n);  for i:=1 to n do read(a[i]);  sort(1,n);  for i:=1 to n do write(a[i],' ');end.



0 0
原创粉丝点击