버블 정렬 하는중인데 수열쪽은 이해가가는데 버블정렬은 도저히 이해가 가질않습니다.
알고리즘을보면 무슨얘기인지 알겠는데 직접 디버깅을 해보면 감이 잡히질 않네요
CNT i SW J 5-i DATA(J) DATA(J+1) k 출력인데
0 1 0 1 4 5 3 5
0 1 1 3 5 10
0 1 1 5 9
9 10
10 8
8 10
1번째줄은 과 2번쨰 줄은 이해가가고 3번째 줄부터이해가지않습니다.
알고리즘에 보면 DATA(J)가 DATA(J+1) 크지않으면 J = 1 , 10 - i, 1 반복문을 나가게되는건가요?
아니면 아니면 J반복문으로 다시 돌아가는건가요?
3번째줄 부터 설명해주시면 감사할 따름입니다 ㅜ
그리고 디버깅 과정을 어떻게해야 잘 할수있을까요...
안녕하세요.
J = 1, 10, -1은
J가 1인 상태에서 DATA(1) > DATA(2)를 비교한 후 처리를 합니다.
만일 DATA(J) > DATA(J+1)이 No인 경우에는 다음 반복문을 수행합니다.
디버깅은 순서도의 흐름에 따라 순차적으로 값의 변화를 확인하면서 기록을 하는 것으로 별도의 방법보다는 하나 하나 꼼꼼히 과정을 살피면서 빠짐없이 값의 변화를 체크하는 것이 방법이라면 방법일 수 있습니다.
우선은 문제를 보고 해당 순서도의 처리 과정을 대략적으로 파악할 수 있도록 교재에 수록된 내용을 여러 번 반복하면서 익숙해 지도록 학습해야 합니다.
오늘도 즐거운 하루 되세요.
"-
*2015-03-26 09:24:39
안녕하세요.
J = 1, 10, -1은
J가 1인 상태에서 DATA(1) > DATA(2)를 비교한 후 처리를 합니다.
만일 DATA(J) > DATA(J+1)이 No인 경우에는 다음 반복문을 수행합니다.
디버깅은 순서도의 흐름에 따라 순차적으로 값의 변화를 확인하면서 기록을 하는 것으로 별도의 방법보다는 하나 하나 꼼꼼히 과정을 살피면서 빠짐없이 값의 변화를 체크하는 것이 방법이라면 방법일 수 있습니다.
우선은 문제를 보고 해당 순서도의 처리 과정을 대략적으로 파악할 수 있도록 교재에 수록된 내용을 여러 번 반복하면서 익숙해 지도록 학습해야 합니다.
오늘도 즐거운 하루 되세요.
"