zoukankan      html  css  js  c++  java
  • 明明的随机数

    题意

    输入一段数,去掉相同的数,再排序


    分析

    一开始输入的时候,就完成“去重”,再排序


    const
    maxn=100000;
    var
    n,t,i:longint;
    a,b:array[0..maxn]of longint;

    procedure init;
    var
    i,w:longint;
    begin
        fillchar(a,sizeof(a),0);
        fillchar(b,sizeof(b),0);
        readln(n);
        t:=0;
        for i:=1 to n do
        begin
            read(w);
            if b[w]<1 then
            begin
                t:=t+1;
                a[t]:=w;
                b[w]:=b[w]+1;
            end;
        end;
    end;


    procedure kp(l,r:longint);
    var
    i,j,key:longint;
    begin
        if l>=r then exit;
        i:=l;j:=r;key:=a[(l+r) div 2];
        repeat
             while (a[i]>key) do inc(i);
             while (a[j]<key) do dec(j);
             if (i<=j) then
             begin
                 a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
                 inc(i);dec(j);
             end;
        until i>j;
        kp(l,j);
        kp(i,r);
    end;


    begin
        init;
        kp(1,t);
        writeln(t);
        for i:=t downto 1 do
        write(a[i],' ');
    end.

  • 相关阅读:
    oracle列合并
    Java移位操作符
    angularjs 事件向上向下传播
    angularjs 路由 ngRoute tab切换
    angularjs 自定义服务
    angularjs 服务供应商
    angularjs 缓存 $q
    angularjs $location 服务
    angularjs $http 服务
    angularjs 自定义指令 directive
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500226.html
Copyright © 2011-2022 走看看