선택정렬 if 교환
소스코드 18라인에 if로 j가 변환할떄만 바꿔주신다고 했는데 변환하지 않아도 자기자신끼리 교환하는 거니까 결과값이 달라지진 않잖아요. 근데도 조건문을 사용하는게 더 좋은 코드인건가요?
Answer 3
0
당연히 정상작동합니다. 대신 중첩된 for문 중 바깥쪽 for문이 수행될 때 반복회수 만큼 교환코드가 실행될 것입니다. 무엇보다 j와 idxMin 값이 같아서 교환할 이유가 없는 상황에서조차 실행될 것입니다. 따라서 불필요한 교환이 반복됩니다. 이러한 문제를 해결하기 위해 idxMin 값이 j와 다를 때만 교환하도록 한 것입니다. 참고하시기 바랍니다.
0
제가 너무 성의없이 질문한거 같네요 죄송합니다. 제가 여쭤보고 싶었던 것은 
if (idxMin != j)가 없더라도 정상적으로 작동한다는 것입니다. 오름차순으로 정렬할 때 해당 인덱스보다 더 작은 값이 없을 경우에 j와 idxMin의 값이 같기 때문입니다. 혼자 실습해보고 idxMin = j;가 for문 안에서 정의된것을 보고 엄청 감탄했는데 왜 조건문을 썼지? 라고 생각이 들어서 질문드렸습니다.
0
죄송하지만...질문의 내용을 제가 정확히 이해하기가 어렵네요. 문의하신 부분이 없을 경우 효율의 문제를 떠나 예제가 정상적으로 작동하지 못합니다. 그리고 '자기자신끼리 교환'하는 부분은 어디를 언급한 것인지 모르겠습니다. 아무튼 결과적으로 더 좋고 나쁘고의 문제는 아니라 할 수 있겠습니다. 감사합니다. 😄
주소 연산자(&) 간접 지정자(*) 반대 개념
0
22
1
Virtual Memory, Memory, Memory mapping tables
0
42
1
샘플코드 출력 오류 발생 질문드립니다
0
59
2
값의 교환에 사용되는 변수의 위치.
0
83
2
메모리 비교에 관한 질문
0
78
2
문자열 Null
0
60
1
C, C++
0
83
2
문자열 입출력 코드 에러
0
58
2
선생님! 120화 2분 50초 질문입니다.
0
65
1
caller 가 메모리 할당 해제를 할 때의 문제점 질문
0
60
2
단축키 맞는지 여부 문의드립니다.
0
58
2
문자열을 사용하는 이중 포인터에 대하여 질문합니다
0
62
1
char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요
0
77
2
용어 설명 필요
0
55
2
stdin, stdout
0
69
2
필수 실습 (최댓값을 반환하는 함수)
0
90
2
아......ㅠㅠ
0
96
2
버퍼 내 엔터
0
69
1
2진수 뺄셈에서 carry-out
0
110
2
union 식별자는 실무에서 보통 어디에서 사용하나요?
0
76
2
필수실습문제 공부법 (진도 vs 복습)
0
100
2
예제파일 다운로드
0
73
2
Visial Studio Code 를 설치해서 사용해도 수업을 따라가는데 지장이 있나요?
0
112
3
연산자 기본이론 강의 질문
0
57
2

