guainew是个Test类型的数组,Test类型包含一个integer类型的id和single类型的p
下面的过程把guainew数组以p的大小进行升序排列Xnum是guainew的大小,pppp是Test类型的,用于数据交换
         for m:=0 to Xnum-2 do begin
            j:=m;
            for i:=m+1 to Xnum-1 do begin
                if (guainew[i].p<guainew[j].p)then begin j:=i;end;
                if (j>m) then begin
                 pppp.id:=guainew[m].id;
                 pppp.p:=guainew[m].p;
                 guainew[m].id:=guainew[j].id;
                 guainew[m].p:=guainew[j].p;
                 guainew[j].id:=pppp.id;
                 guainew[j].p:=pppp.p;    
                 end;
             end;
          end;其排序结果如下:
    id-p
495903-9.34628772735596
494507-13.8843040466309
495915-16.8830699920654
495905-14.0321788787842
494747-17.0227012634277
494508-10.0710077285767
494740-12.0391492843628
494742-13.2497978210449
494741-18.5249462127686
494744-19.6194515228271
494751-20.17848777771
494750-14.2728090286255
494749-26.7867755889893
494748-17.2914962768555
494743-27.0240135192871
495917-24.0159454345703
494506-28.4547691345215
495904-29.4822635650635
494505-34.5607681274414
495911-36.5819129943848
494737-39.5166206359863
494745-40.9482154846191
495912-41.4520034790039
494500-44.8723945617676
494746-45.635440826416
后面的那部分排序正确了,但是前几位总是出错,不知道是怎么回事啊?