强哥在吗,你做的排序的结果不正确,我不知道怎么改?

解决方案 »

  1.   

    http://community.csdn.net/Expert/TopicView1.asp?id=4420953
      

  2.   

    什么地方不正确? 报歉前几天出差了,没上CSDN。
      

  3.   

    强哥,抱歉,我水平很差,所以自己看不太懂,我看你的代码是对的,但结果却发现过不对的时候(和正确的结果做比较),明天我试了好多,又都是对的,我也不知道为什么,或者是我自己修改的部分有问题吧。速度完全满足要求,非常感谢你。
    随便问你一下吧:
    你的代码是是把号码分成二部分的,我开始以为你是把蓝球也计算在内了,后来发现不是,(不算蓝球对),你是这样分的:
        Readln(f, s);
        hs := Copy(s, 1, 6);
        ls := Copy(s, 7, 20);
    我如果改成
        Readln(f, s);
        hs := Copy(s, 1, 15);
        ls := Copy(s, 16, 20);
    为什么在运算第二个文件时,速度会突然慢了很多?
    (注:我的数据不是在一个文件里,而是多个文件,所以要一个一个地读)
      

  4.   

    还有一个问题,强哥或看到的高手随便解答一下:
    我写个函数返回值为TStringList类型。那么我就要在函数中声明一个TStringList类型变量。
    问题:那我在什么地方free()掉它?不free也可以吗?
    这个函数要反复执行多次的谢谢!!!
      

  5.   

    你调用函数返回值前声明一个Tstringlist的类型变量var
      templist:Tstringlist;
    begin
      templist:=Tstringlist.create;
      try
        templist:=(你的函数);
        。
      finallly
        templist.free;
      end;
    end;
      

  6.   

    虽然我还不完全明白这样做的原理,但我记下了,谢谢!!
    还有,用try。。finally感觉有点繁。
      

  7.   

    回复人: hmzgz81(哩翱) ( ) 信誉:102  2005-12-04 10:10:00  得分: 0  
     
     
       你调用函数返回值前声明一个Tstringlist的类型变量var
      templist:Tstringlist;
    begin
      templist:=Tstringlist.create;
      try
        templist:=(你的函数);
        。
      finallly
        templist.free;
      end;
    end;
      
     
    如果函数参数有tstringlist,将外部创建的templist传递给函数。
    否则这样写有错误的。