아래의 예문은 오름차순 정리에 관한 예문입니다.
그런데 예문의 해석에서 혼동이 오네요???
어떻게 해석 해야할 까요? 고수분들의 답변 부탁드립니다.
<예>-
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
>- 해석 부탁드립니다......!!!
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
>
> >- 해석 부탁드립니다......!!!