回 帖 发 新 帖 刷新版面

主题:动态数组

如何做一个动态数组,数组里的数一一与一个数作比较,不相同的话就把这个数插进数组,然后数组长度加1

回复列表 (共1个回复)

沙发

佩服楼主的愚公精神,所以免费为你再答一题(本来打算凡是你的题目就不答了)。解决了问题不给分,是不仗义的。

type
  TArr = array of integer;
var
  Arr : TArr;

procedure NotExistsThenInsert(var AArr: TArr; V: integer);
var
  Idx : integer;
  Existed : boolean;
begin
  Existed := False;
  for Idx := Low(AArr) to High(AArr) do
    if AArr[Idx] = V then begin
      Existed := True;
      Break;
    end;
  if Not Existed then begin
    SetLength(AArr, Length(AArr)+1);
    AArr[High(AArr)] := V;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject); ////测试
var
  Idx : integer;
begin
  NotExistsThenInsert(Arr, StrtoInt(Edit1.Text));
  for Idx := Low(Arr) to High(Arr) do
    Showmessage(InttoStr(Arr[Idx]));
end;

我来回复

您尚未登录,请登录后再回复。点此登录或注册