切换到宽版
  • 17701阅读
  • 16回复

『求助』排序算法 [复制链接]

上一主题 下一主题
离线118140194
 
只看楼主 倒序阅读 0 发表于: 2005-10-31
网上把排序算法超的很热,说的靠复赛必须背快排,为什么哦??举例说明下嘛,大牛们!!
离线stevenjl

只看该作者 1 发表于: 2005-10-31
恩,因为复赛对程序运行时间有限制。
像去年的第二题,我没有用快排,用直接插入排序的时候严重超时。用了快排就过了所有测试点。

至于要不要被快排
我不清楚,我每次都是从example里面调用快排代码的。如果复赛的机器上删除了示例,那就只有背了
Dream Walker...
离线118140194
只看该作者 2 发表于: 2005-10-31
那什么情况下会使用到排序嘛(我说的是综合题目)!!??
离线arronking
只看该作者 3 发表于: 2005-10-31
我在资料里发了排序的东西,你有空去看看吧
大秦魂不相信强盗悔忏,
只能用复仇雪耻的战争,
讨回我秦汉高贵的尊严。
强秦何曾看过六国脸色,
大汉何曾求过匈奴道歉?
用无坚不摧的滚滚铁骑,
踏平那敌国的巍峨宫殿!
离线stevenjl

只看该作者 4 发表于: 2005-10-31
最好的例子是去年第二题啊

合并果子
就是构造最优二叉树
Dream Walker...
离线118140194
只看该作者 5 发表于: 2005-10-31
哦,好,谢谢
离线arronking
只看该作者 6 发表于: 2005-10-31
我已经贴完了,你可以去看了
大秦魂不相信强盗悔忏,
只能用复仇雪耻的战争,
讨回我秦汉高贵的尊严。
强秦何曾看过六国脸色,
大汉何曾求过匈奴道歉?
用无坚不摧的滚滚铁骑,
踏平那敌国的巍峨宫殿!
离线118140194
只看该作者 7 发表于: 2005-10-31
OK,收到
离线118140194
只看该作者 8 发表于: 2005-10-31
请问是EXAMPLE的哪个程序里面有快排哦??
离线118140194
只看该作者 9 发表于: 2005-11-02
program qs(input,output);
type
  list=array[1..8] of integer;
var
  a:list;i:integer;
function partition(p,r:integer;var l:list):integer;
  var
    pivot,i,j,zhong:integer;
  begin
    pivot:=5;
    i:=p-1;
    j:=r+1;
    {while do
    begin   }
      repeat
        dec(j);
      until l[j]<=pivot;
      repeat
        inc(i);
      until l>=pivot;
      if i<j
        then begin
        zhong:=l;
        l:=l[j];
        l[j]:=zhong;
          end
        else if j<>r
        then partition:=j
        else partition:=j-1;
    { end;}
  end;
procedure sort(p,r:integer;var l:list);
  var
    q:integer;
  begin
    if p=r
    then exit
    else begin
      q:=partition(p,r,l);
      sort(p,q,l);
      sort(q+1,r,l);
        end;
  end;
begin
  a[1]:=5;a[2]:=3;a[3]:=2;a[4]:=6;a[5]:=4;a[6]:=1;a[7]:=3;a[8]:=7;
  sort(1,8,a);
  for i:=1 to 8 do
    write(a,' ');
  readln;
end.

我这个程序真么是错的哦,哪个帮我找下原因嘛!!谢谢牛兄!!
快速回复
限100 字节
 
上一个 下一个