Q&A

  • 로직이 이해가 잘 안됩니다.
우선 코드는.



function TForm1.sort(flag: integer):boolean;

var

i,j,tmp:integer;

begin

tmp:=0;



case flag of

1: begin

for i:=0 to 4 do

for j:=0 to 4 do

begin

if Rand[j] > Rand[i] then

//showmessage(inttostr(+Rand[j])+'VS'+inttostr(+Rand[i]));

begin

tmp:=Rand[j];

//showmessage(inttostr(+tmp));

Rand[j]:=Rand[i];

Rand[i]:=tmp;

end; //if

end; //for j

result:=true;

end; //begin1



에디트박스에서 임의의 수를 입력받고 그 수 중에서 임의의 숫자 다섯개를 Random하게 추출합니다. 그 다음에 그 추출된 숫자들을 올림차순과 내림차순으로 정렬하는 코드인데

for구문과 Array구문이 이해가 잘 안됩니다. 무슨 수가 들어가는지 alert도 띄워보고

breakpoint에서 순서대로 실행하는걸 보기도 했는데 잘 모르겠습니다.

기초가 부실해서리...

1  COMMENTS
  • Profile
    홍성락 2001.09.11 04:14
    COMA wrote:

    > 우선 코드는.

    >

    > function TForm1.sort(flag: integer):boolean;

    > var

    > i,j,tmp:integer;

    > begin

    > tmp:=0;

    >

    > case flag of

    > 1: begin

    > for i:=0 to 4 do

    > for j:=0 to 4 do

    > begin

    > if Rand[j] > Rand[i] then

    > //showmessage(inttostr(+Rand[j])+'VS'+inttostr(+Rand[i]));

    > begin

    > tmp:=Rand[j];

    > //showmessage(inttostr(+tmp));

    > Rand[j]:=Rand[i];

    > Rand[i]:=tmp;

    > end; //if

    > end; //for j

    > result:=true;

    > end; //begin1

    >

    > 에디트박스에서 임의의 수를 입력받고 그 수 중에서 임의의 숫자 다섯개를 Random하게 추출합니다. 그 다음에 그 추출된 숫자들을 올림차순과 내림차순으로 정렬하는 코드인데

    > for구문과 Array구문이 이해가 잘 안됩니다. 무슨 수가 들어가는지 alert도 띄워보고

    > breakpoint에서 순서대로 실행하는걸 보기도 했는데 잘 모르겠습니다.

    > 기초가 부실해서리...

    ////////////////////////////////////////////////////////////

    정렬방법 알고리즘에 대해 궁굼하신것 같은데요,

    위방법은 더블정렬같은데요, 정렬방법은 자료구조에 보시면 퀵,선택,삽입,힙 정