프로그래밍 노트

[델파이]문자열 배열의 정렬 본문

델파이

[델파이]문자열 배열의 정렬

떡잎 2009. 8. 28. 11:31

문자열 배열의 정렬 소스


var
  arSort: array[1..12] of string
  = ('d','e','f','a','b','c','h','a','i','j','k','l');

procedure TForm1.Button1Click(Sender: TObject);
var
  sLst: string;
  iIdx: Integer;
  bSortingEnd: Boolean;
  bChange: boolean;
  i : integer;
begin
  Listbox1.Clear;

  repeat
    bSortingEnd := False;
    iIdx := 1;
    repeat
      bChange := false;
      if checkbox1.Checked then
      begin  // 내림차순(c, b, a ...)
        if CompareStr(arSort[iIdx+1], arSort[iIdx]) > 0 then bChange := true
      end
      else
      begin  // 오름차순(a, b, c ...)
        if CompareStr(arSort[iIdx], arSort[iIdx+1]) > 0 then bChange := true;
      end;

      if bChange then
      begin
        sLst := arSort[iIdx];
        arSort[iIdx] := arSort[iIdx+1];
        arSort[iIdx+1] := sLst;
        bSortingEnd := True;
      end;
      Inc(iIdx);
    until(iIdx > High(arSort) - 1);
  until(bSortingEnd = False);

  for i := Low(arSort) to High(arSort) do
  begin
    Listbox1.Items.Add(arSort[i]);
  end;
end;


 

음 난 왜 이런게 쉽게 쉽게 머리에서 안떠오르지 T.T
Comments