[2010] 정보처리기사 실기 P135~137
23색션 버블정렬
유형3) 버블정렬 3 - 좌우로 번갈아 가면서 정렬
P137 문제 답중
② Right = Shift
④ Left = Shift
라고 되있는데..
문제중 shift는 D(i) > D(i+1) 판단에서 yes 를 받지 못하면 변수 선언이 안됩니다.
예를 들어 [1 2 3 4 5 6 7 8 9 10] 이런 문건이 들어온다면(어떤 문건이 들어온다는 제한은 없었으니까요)
알고리즘을 진행 하는 과정(⑫)에서 Shift가 선언되지 않아 오류가 납니다.
문제가 잘못 된거 같은데 어떤가요? 제가 잘못 생각하는 걸까요?
안녕하세요.
정렬을 수행할 자료를 대상으로 진행한 것으로 정렬이 필요없는 자료에 대한 대비는 되지 않았네요.
만일 정렬이 필요없는 자료에 대한 대비도 해야 한다면
Shift 변수의 초기값으로 0을 주고 시작하여, 첫번째 반복문 아래쪽에 조건문을 추가해서 Shift가 0이면 자료 교환이 한번도 이뤄지지 않았다는 의미이므로, 즉 정렬이 필요없는 자료이므로 그냥 종료하도록 해야 하겠죠.
오늘도 즐거운 하루되세요.
"-
*2011-04-29 10:25:48
안녕하세요.
정렬을 수행할 자료를 대상으로 진행한 것으로 정렬이 필요없는 자료에 대한 대비는 되지 않았네요.
만일 정렬이 필요없는 자료에 대한 대비도 해야 한다면
Shift 변수의 초기값으로 0을 주고 시작하여, 첫번째 반복문 아래쪽에 조건문을 추가해서 Shift가 0이면 자료 교환이 한번도 이뤄지지 않았다는 의미이므로, 즉 정렬이 필요없는 자료이므로 그냥 종료하도록 해야 하겠죠.
오늘도 즐거운 하루되세요.
"