你先排序,就可以了。
给你一个排序过程,你可以参考。很容易。
procedure QuickSort(var A:array of Integer; iLo,iHi:Integer);
var
Lo,Hi,Mid,T:Integer;
begin
Lo:=iLo;
Hi:=iHi;
Mid:=A[(Lo+Hi)div 2];
repeat
while A[Lo]<Mid do
Inc(Lo);
while A[Hi]>Mid do
Dec(Hi);
if Lo<=Hi then
begin
T:=A[Lo];
A[Lo]:=A[Hi];
A[Hi]:=T;
Inc(Lo);
Dec(Hi);
end;
until Lo>Hi;
if Hi>iLo then QuickSort(A,iLo,Hi);
if Lo<iHi then QuickSort(A,Lo,iHi);
end;