这是一个排序的,把所有为0的的元素都放到数组的末端了,然后你删除就行了
procedure TForm1.Sort(var a:array of integer);
var
i,j,t:integer;
flag:boolean;
begin
i:=-1;
j:=-1;
t:=0;
flag:=true;
while (flag) do
begin
if a[t]=0 then
begin
if i=-1 then i:=t;
inc(t);
end
else
begin
j:=t;
flag:=false;
end;
if t>=10 then flag:=false;
end;
if t>=10 then exit;
while j<10 do
begin
t:=a;
a:=a[j];
a[j]:=t;
t:=i+1;
i:=-1;
flag:=true;
while (flag) do
begin
if a[t]=0 then
begin
if i=-1 then
begin
i:=t;
t:=j;
end;
inc(t);
end
else
begin
flag:=false;
end;
if t>=10 then flag:=false;
end;
j:=t;
end;
end;