如何用最快的方法求出几个变量中的最大值?????????????????   
例如 有5个single类型变量A,B,C,D,E,如何用最快的方法求最大值的一个变量?

解决方案 »

  1.   

    至少比较4次
    Max(A, Max(B, Max(C, Max(D, E))));
      

  2.   

    再快也是要遍历这几个数的
    uses
      Math;var
      maxv: Integer;
    begin
      maxv := Max(A, Max(B, Max(C, Max(D, E))));
    end;
      

  3.   

    //通用算法    
    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
        MyArray:array of single;
        index:single;
    begin
      setlength(myarray,9);
      for I:=0 to 4 do
      myarray[i]:=i;
      for I:=1 to 4 do
        if myarray[i-1]>myarray[i] then
        begin
          index:=myarray[i-1];
          myarray[i-1]:=myarray[i];
          myarray[i]:=index;
        end;
       showmessage('最大的数为:'+floattostr(myarray[4]));
    end;
      

  4.   

    同意cooling(cooling)的方法,数据结构里讲过的
      

  5.   

    c语言算法
    int intArray[]={4,5,6,2,6};
    int temp;
    for (int i=0;i<intArray.length();i++)
    {
       if (i==0)
      {
        temp=intArray[0];
        continue;
       }
       if (intArray[i]>temp)
          temp=intArray[i];
    }      
    return temp  ;  //最大值 
    }
      

  6.   

    狂晕,排序算法有N多,冒泡是最慢的一种,一般常用的是快速排序,也是最快的排序算法了,同它一样快的还有一种叫做归并排序的!这个排序算法需要一个辅助数组,不过还是用快速排序算法就Ok了,具体实现看看原理就可以了!而且代码网上有N多!