WonHada.com으로 이전

[델파이] sort 예제 본문

델파이 [Delphi]

[델파이] sort 예제

반주부 2009. 2. 9. 17:23
반응형


program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
readData:integer;
arr:Array of integer;

procedure moveBack(value:integer);
var
i, len:integer;
begin
  len := Length(arr);
  for i := len - 1 downto value do arr[i + 1] := arr[i];
end;

procedure add(value:integer);
var
i, len:integer;
begin
  len := Length(arr);

  if len = 0 then
  begin
    SetLength(arr, 1);
    arr[0] := value;
    exit;
  end;

  for i := len - 1 downto 0 do
  begin
   if arr[i] < value then
   begin
     SetLength(arr, len + 1);
     moveBack(i + 1);
     arr[i + 1] := value;
     exit;
   end;
  end;
end;

function join():String;
var i, len:integer;
begin
  Result := '';
  len := Length(arr);
  for i := 0 to len - 1 do Result := Result + IntToStr(arr[i]) + ',';
  Result := Copy(Result, 1, Length(Result) - 1);
end;

begin
  repeat
    writeln('저장할 데이터? '); readln(readData);

    if readData > 0 then
    begin
       add(readData);
    end
    else if readData = 0 then
    begin
      writeln(join());
      break;
    end;
  until (readData <= 0);

  readln;
end.

류님의 책 예제 중 '여러 개의 데이터를 순서대로 보관 하기'를 제 나름대로 변형해 보았습니다..








반응형