책 내용 질문하기
버블 정렬 문의드립니다
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
280,595
조회수
104
작성일
2019-06-11
작성자
탈퇴*원
첨부파일



 

 

순서가 뒤죽박죽인데 해설에서 i=1, J=1일 때 DATA[J+1] 부분이 왜 6이 아니라 8인지 궁금합니다

제 생각은 첫번째 사진입니다 

그리고 K는 왜 8로 고정되는지도 궁금합니다

답변
2019-06-12 14:18:36

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

 

먼저 

[1] 디버깅표는 변수가 변하는 값을 순서대로 적어서 기록합니다.

단순히 순서도 또는 코드에서 각 변수들의 값이 변할 때마다 값을 적는 것에 불과하기 때문에, 반복문의 한 회전 내에서 하나의 변수가 여러 번 변화하는 경우 특정 변수의 행만 길어지는 경우도 존재합니다.

 

[2] 순서도는 처리조건이나 문제에서 특별한 언급이 없는한 배열의 시작주소를 1부터 시작합니다.

data[10]이라고 선언되었으면 각 요소는 data[1]~data[10]까지 10개 존재하게 되죠. data[0]은 존재하지 않습니다.

게다가 순서도 상으로 j값을 추적해 보아도 순서도 8번에서 0으로 초기화 된 후, data[]를 만나기 전에 j=j+1을 수행하기 때문에 data[0]이 조회되는 일은 발생하지 않습니다.

 

해당 문제에서 디버깅표의 data[j] data[j+1]값은 순서도 10번에서 조회될 때의 값과 순서도 11~13번 교환될 때의 값들을 의미합니다.

j가 1일 때 data[1](8)>data[2](5) Yes이므로 교환, data[1]=5, data[2]=8

j가 2일 때 data[2](8)>data[3](6) Yes이므로 교환, data[2]=6, data[3]=8

이런식이죠.


행복한 하루되세요 :)

  • 관리자
    2019-06-12 14:18:36

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

     

    먼저 

    [1] 디버깅표는 변수가 변하는 값을 순서대로 적어서 기록합니다.

    단순히 순서도 또는 코드에서 각 변수들의 값이 변할 때마다 값을 적는 것에 불과하기 때문에, 반복문의 한 회전 내에서 하나의 변수가 여러 번 변화하는 경우 특정 변수의 행만 길어지는 경우도 존재합니다.

     

    [2] 순서도는 처리조건이나 문제에서 특별한 언급이 없는한 배열의 시작주소를 1부터 시작합니다.

    data[10]이라고 선언되었으면 각 요소는 data[1]~data[10]까지 10개 존재하게 되죠. data[0]은 존재하지 않습니다.

    게다가 순서도 상으로 j값을 추적해 보아도 순서도 8번에서 0으로 초기화 된 후, data[]를 만나기 전에 j=j+1을 수행하기 때문에 data[0]이 조회되는 일은 발생하지 않습니다.

     

    해당 문제에서 디버깅표의 data[j] data[j+1]값은 순서도 10번에서 조회될 때의 값과 순서도 11~13번 교환될 때의 값들을 의미합니다.

    j가 1일 때 data[1](8)>data[2](5) Yes이므로 교환, data[1]=5, data[2]=8

    j가 2일 때 data[2](8)>data[3](6) Yes이므로 교환, data[2]=6, data[3]=8

    이런식이죠.


    행복한 하루되세요 :)

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