책 내용 질문하기
좌우로 번갈아 가면서 버블정렬
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
288,289,290,291
조회수
188
작성일
2019-09-30
작성자
탈퇴*원
첨부파일

1. 좌우로 번갈아 버블정렬 시 Left와 Right 되는 기준 궁금합니다.

ex)p.288에서 1회전 시 마지막 다섯번째자료는 네번째자료와 비교하게 되어서 right가 4라고 하는데  왜 4고, left가 1이되나요? 1회전 버블정렬 완료시 첫번째 자료가 4(=right), 마지막 다섯번째자료가 1(=left)라서 그렇ㄱ게 된건가요? 만약 제가 생각한게 맞다면 2회전 최종값 4,1,3,2,5에서 right가 4, left가 2인데 right는 오른쪽, left는 왼쪽아닌가요? 근데 2회전최종값에는 right가 2가아닌 4, left가 4가 아닌 2가 되어있어 궁금합니다.

 

2.p.291 디버깅에서 좌우로 번갈아가며 버블정렬은 right 1번 하고, left 1번하면서 좌우번갈아가면서 하는거 아닌가요?? 근데 정답지 보면 right을 5,4 이렇게 2번 후 left을 4, 다시 right 2, right 3, 마지막으로 left 3을 하는데 처음에 right 5,4 이렇게 2번한 이유가 궁금합니다. 

답변
2019-09-30 14:50:25

안녕하세요 길벗수험서 운영팀입니다.

 

[1]

left와 right는 각 비교되어야 할 마지막 위치를 가리킵니다.

1회전 : left는 1의 초기값을 갖고 right는 4의 초기값을 갖습니다.

 처음('1'과 2비교)부터 마지막('4'와 5비교)을 비교하죠.

 

2회전 : left는 2를 갖고, right는 4를 갖습니다.

 여기서 비교순서가 조금 바뀝니다.

처음('4'와 3비교)부터 마지막('2'와 1비교)을 비교하죠.

 

각 괄호에서 따옴표''로 묶여진 숫자를 확인하세요. 저 기준값을 left와 right로 갖고 회전을 반복하게 되는 것입니다.

 

 

[2]

맞습니다.

디버깅표에서 각 디버깅의 가로 칸막이를 기준으로

첫줄은 right (첫번째 반복문)

둘째줄은 left (두번째 반복문)

셋째줄은 right (첫번째 반복문)

넷째줄은 left (두번째 반복문)

다섯째줄은 두번째 반복문이 종료된 이후 수행된 순서도의 4번 빈칸인 left=shift 입니다.

맨 처음 left와 right의 값이 부여된 것은 순서도 검은색 원숫자 3번과 4번에서 저장된 초기값입니다.

 

정확히는 right는 반복문 수행 후 4, 3으로 변경되었고, left는 반복문 수행 후 2, 3으로 변경되었습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-30 14:50:25

    안녕하세요 길벗수험서 운영팀입니다.

     

    [1]

    left와 right는 각 비교되어야 할 마지막 위치를 가리킵니다.

    1회전 : left는 1의 초기값을 갖고 right는 4의 초기값을 갖습니다.

     처음('1'과 2비교)부터 마지막('4'와 5비교)을 비교하죠.

     

    2회전 : left는 2를 갖고, right는 4를 갖습니다.

     여기서 비교순서가 조금 바뀝니다.

    처음('4'와 3비교)부터 마지막('2'와 1비교)을 비교하죠.

     

    각 괄호에서 따옴표''로 묶여진 숫자를 확인하세요. 저 기준값을 left와 right로 갖고 회전을 반복하게 되는 것입니다.

     

     

    [2]

    맞습니다.

    디버깅표에서 각 디버깅의 가로 칸막이를 기준으로

    첫줄은 right (첫번째 반복문)

    둘째줄은 left (두번째 반복문)

    셋째줄은 right (첫번째 반복문)

    넷째줄은 left (두번째 반복문)

    다섯째줄은 두번째 반복문이 종료된 이후 수행된 순서도의 4번 빈칸인 left=shift 입니다.

    맨 처음 left와 right의 값이 부여된 것은 순서도 검은색 원숫자 3번과 4번에서 저장된 초기값입니다.

     

    정확히는 right는 반복문 수행 후 4, 3으로 변경되었고, left는 반복문 수행 후 2, 3으로 변경되었습니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.