| | | 제 목 | 26강 버블정렬 워크시트 질문이요 | | | 글쓴이 | 기사친구 | 작성일 | 2010-10-08 오후 11:15:46 | 조회수 | 613 | | | 글공유 | |
| | | 임종훈님 안녕하세요? ^^
열공중이시죠?
정렬은 중요한 알고리즘입니다.
꼭 완벽이해를 하셔야 합니다.
질문에 답변드립니다.
질문을 읽어보니 정확히 맞게 이해를 하시고 계시네요. ^^
맞습니다.
만약에 배열공간에 5개의 데이터를 정렬해야 한다면
맨처음 J 값은 4가 되어 4번지와 5번지를 비교합니다.
아래와 같이 디버깅되겠지요.
1회전 : 4번지 , 5번지 비교 (J = 4)
2회전 : 3번지 , 4번지 비교 (J = 3)
3회전 : 2번지 , 3번지 비교 (J = 2)
4회전 : 1번지 , 2번지 비교 (J = 1)
위처럼 돌아가게 됩니다. J값은 4부터 1까지 진행되고 내림차순이므로 가장 큰 값이
1번지에 위치하게 됩니다.
2번지에 데이터를 찾기 위해서 다음과 같이 다시 진행됩니다.
1회전 : 4번지 , 5번지 비교 (J = 4)
2회전 : 3번지 , 4번지 비교 (J = 3)
3회전 : 2번지 , 3번지 비교 (J = 2)
위처럼 돌려주게 되면 두번째로 큰 값이 2번지에 저장되는 것이지요. ^^
이해가 되셨나요?
위처럼 우리가 본 강좌에서 학습했던것과 반대방향으로 진행되면서 배열의 값을
비교하게 되는 겁니다.
따라서 J 변수값은 CNT-1 번지부터 K번지까지 1씩 감소해 가면 되는 겁니다.
위 설명을 잘 읽어보시고 이해 안되시면 다시 질문주세요.
열공하시구요.
즐거운 주말 되시길 바랍니다. ^^
위에서 점수 입력받았잖아요. 그리고 밑으로와서 반복문구문에서 1번 답 =CNT-1과 2번 답 =K 이고요. 질문은요 J = CNT-1 , K , -1 이면 1회전 첫번째에 99,1,-1 이렇게 된다는거 맞나요? 만약 맞으면 밑에 비교문 A(J) < A(J+1) 이거는 A(99) < A(100) 이 되는건가요?
죄송해요 설명도 잘 못하겠네요 ㅠㅠ 궁금해요!!!!!!!!!!!!!!! | |
|
|