Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1865] 선택정렬 궁금증 . ^^
김희섭 [tequila] 1298 읽음    2003-01-21 21:19
안녕하세요 ~ ^^

for(i = 0;i < MAX;i++) {
    for(j = i + 1;j < MAX;j++) {
        if(num[i] > num[j]) {
            num[i] += num[j];
            num[j] = num[i] - num[j];
            num[i] -= num[j];
        }
    }
}

위의 소스가 정확한 선택정렬 소스코드 잖아요 . . 작은 수부터 ~ 큰수로 . .;;

제가 오름차순하구 내림차순하구 좀 헷갈려서요 ^^;; 이해해주세요 .

근데요 .
for(i = 0;i < MAX;i++) {
    for(j = 0;j < MAX;j++) {  <----  이부분 !! 에서 j 를 0 으로 바꾸기만 하면요   
        if(num[i] > num[j]) {
            num[i] += num[j];
            num[j] = num[i] - num[j];
            num[i] -= num[j];
        }
    }
}

처음의 선택정렬 결과의 반대의 결과가 나와요.

i가 0이고 j루프를 다 돌고 나면 . num[0]엔 제일 작은 값이 들어가는게 맞죠?

그러면 num[j]가 다시 0부터 시작해도 num[1]보타 클리는 없고...;;;

아무리 생각해도 모르겠어요.

이유를 아시는 분은 설명좀 . . ^^;

다른분들한테 물어보니 구냥 신경쓰지 말구 처음껄루 쓰라구 하시든데 . .;;

도무지 궁금해서 못참겠어요 ㅠ _ ㅠ

빠른 답변 부탁드려요 ~ ^^

( _ _ )

+ -

관련 글 리스트
1865 선택정렬 궁금증 . ^^ 김희섭 1298 2003/01/21
1877     Re:선택정렬 궁금증 . ^^ 임문환 1222 2003/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.