책 내용 질문하기
한가지 더 질문 드립니다.
도서
[2010] 정보처리기사 실기
페이지
140
조회수
192
작성일
2011-04-28
작성자
첨부파일

24색션 삽입정렬

P 140

10개 수치자료를 입력받아 삽입정렬하는 문제에서

⑩ 단계에서 ⑪ 단계로 넘어 가면 오류가 생깁니다.

예를 들어

A(6) = [2 3 4 1 6 5] 라는 자료를 받았다고 치면

i = 2, k = 1

1회전 [2 3 4 1 6 5] 판단에서 No로 나옴

i = 3, k = 2,1

2회전 [2 3 4 1 6 5] 판단에서 No로 나옴

i =4, k = 3,2,1 일때

3회전 [1 2 3 4 6 5] 가 되야합니다.

하지만

2회전 [2 3 4 1 6 5]에서

Key = 1

i = 4, k =3,2,1 로 두고

⑧반복을 계산하고 ⑪ 앞까지의 배열이

[2 2 3 4 6 5], k = 1 이 됩니다.

이상태에서 ⑪ A(K+1) = KEY 를 계산하면 A(2) = 1 이되어

[2 1 3 4 6 5] 값이 되버리는군요.

3회전 값이 [2 1 3 4 6 5]이 되버립니다.

제가 잘못 생각한건 가요?

문제 두개가 시간을 너무 잡아 먹네요..

대충 넘어가기엔 찜찜하구요... 설명 부탁드립니다.

답변
2011-04-29 10:34:47

안녕하세요.

A(6) = [2 3 4 1 6 5] 라는 자료를 받았다고 치면

i = 2, k = 1

1회전 [2 3 4 1 6 5] 판단에서 No로 나옴

i = 3, k = 2,1

2회전 [2 3 4 1 6 5] 판단에서 No로 나옴

i =4, k = 3,2,1 일때

3회전

Key = 1

i = 4, k =3,2,1 로 두고

K가 3일 때 교환 2 3 4 4 6 5

K가 2일 때 교환 2 3 3 4 6 5

K가 1일 때 교환 2 2 3 4 6 5

K가 0이 되어 반복문빠져 나오면 A(K+1) = KEY에 의해 A(1) = KEY가 되므로

1 2 3 4 6 5가 됩니다.

왼쪽의 사이드 전문가의 조언에서도 언급했듯이 반복문을 빠져나올 때 반복변수의 값은 증가치(문제에서는 -1)가 한번 더 적용된 상태로 빠져나옵니다. 이점 염두에 두고 다시한번 학습하세요.

오늘도 즐거운 하루 되세요.

"
  • *
    2011-04-29 10:34:47

    안녕하세요.

    A(6) = [2 3 4 1 6 5] 라는 자료를 받았다고 치면

    i = 2, k = 1

    1회전 [2 3 4 1 6 5] 판단에서 No로 나옴

    i = 3, k = 2,1

    2회전 [2 3 4 1 6 5] 판단에서 No로 나옴

    i =4, k = 3,2,1 일때

    3회전

    Key = 1

    i = 4, k =3,2,1 로 두고

    K가 3일 때 교환 2 3 4 4 6 5

    K가 2일 때 교환 2 3 3 4 6 5

    K가 1일 때 교환 2 2 3 4 6 5

    K가 0이 되어 반복문빠져 나오면 A(K+1) = KEY에 의해 A(1) = KEY가 되므로

    1 2 3 4 6 5가 됩니다.

    왼쪽의 사이드 전문가의 조언에서도 언급했듯이 반복문을 빠져나올 때 반복변수의 값은 증가치(문제에서는 -1)가 한번 더 적용된 상태로 빠져나옵니다. 이점 염두에 두고 다시한번 학습하세요.

    오늘도 즐거운 하루 되세요.

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