Q&A

  • 다음의 예문을 보시고 설명을 부탁 드립니다.
아래의 예문은 오름차순 정리에 관한 예문입니다.

그런데 예문의 해석에서 혼동이 오네요???

어떻게 해석 해야할 까요? 고수분들의 답변 부탁드립니다.



<예>-

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

var

i, j, tmp : integer;

begin

tmp := 0;

case flag of // 파라미터로 넘어온 flag 값이

1 : begin // 1일 경우

for i := 0 to 4 do

for j :=0 to 4 do begin

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

tmp := Rand[j];

Rand[j] := Rand[i];

Rand[i] := tmp;

end; //if

end; //for j

result := true; //성공적으로 오름 차순이 끝났음을 알려주기 위한 True값 리턴

end; //begin 1



>- 해석 부탁드립니다......!!!

1  COMMENTS
  • Profile
    왕초*^^* 2000.11.03 04:07
    function TForm1.sort(flag: integer) : boolean;

    var

    i, j, tmp : integer;

    begin

    tmp := 0;

    case flag of // 파라미터로 넘어온 flag 값이

    1 : begin // 1일 경우

    for i := 0 to 4 do //0부터 4까지 돌림...

    for j :=0 to 4 do begin // 0부터 4까지 돌림...

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

    tmp := Rand[j];

    Rand[j] := Rand[i];

    Rand[i] := tmp;

    end; //if

    end; //for j

    result := true; //성공적으로 오름 차순이 끝났음을 알려주기 위한 True값 리턴

    end; //begin 1





    //위 방법은 정렬방식 중에 인서셜 소트라는 정렬방식이거든염...

    //배열변수의 첫번째 값과 두번째 값을 비교해서 첫번째 값이

    //두번째 값보다 작으면 바꿉니다...

    //배열변수의 첫번째 값과 세번째 값을 비교해서 첫번째 값이

    //세번째 값보다 작으면 바꿉니다...

    // .

    // .

    // .

    // 계속반복... 이렇게 해서 for i := 0 to 4 문장을 한번 반복하면

    // 배열의 첫번째에 가장 큰 값이 들어 가게 됩니다.

    // 이런식으로 계속 반복하면... 앞에서부터 큰값이 저장돼기 때문에...

    // 정렬이 돼는 거져... 흠...

    // 설명이 제대로 됐는지 모르겠네염....ㅜ.ㅜ

    // 제가 설명을 잘 못해여 원래... 죄송...*^^*

    // 정렬 방식중... 저 방법보다 더 좋은 방법이??? 더 쉬운 방법이 있거든여...

    // 버블 소트라구... 그 방법을 쓰는게 이해하기는 더 쉬울 거에여...

    // 버블 소트는..

    // for i := 0 to 4 do

    // for j := 0 to 4 do

    // begin

    // if Rand[j] < Rand[j+1] then

    // begin

    // tmp := ...

    ...

    // end;

    // end;

    // end;

    // 이게 버블 소트 에염.... 이게 정말 이해하기 쉽져...

    // 한칸씩 앞으로 가면서 앞에 있는게 뒤에 있는거 보다 작으면 바꾸는거에염...

    // 이걸 계속 반복하면 정렬 완료... *^^*

    // 도움이 됐을지 모르겠네염...

    // 즐프 하세염... *^^*



    delpo wrote:

    > 아래의 예문은 오름차순 정리에 관한 예문입니다.

    > 그런데 예문의 해석에서 혼동이 오네요???

    > 어떻게 해석 해야할 까요? 고수분들의 답변 부탁드립니다.

    >

    > <예>-

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

    > var

    > i, j, tmp : integer;

    > begin

    > tmp := 0;

    > case flag of // 파라미터로 넘어온 flag 값이

    > 1 : begin // 1일 경우

    > for i := 0 to 4 do

    > for j :=0 to 4 do begin

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

    > tmp := Rand[j];

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

    > Rand[i] := tmp;

    > end; //if

    > end; //for j

    > result := true; //성공적으로 오름 차순이 끝났음을 알려주기 위한 True값 리턴

    > end; //begin 1

    >

    > >- 해석 부탁드립니다......!!!