<div>void selectionsort(int list[], int n)</div> <div>{</div> <div> for(int i=0; i<n-1; i++) // i는 늘 j보다 1 작음. 앞 뒤의 수를 비교해줘야 하므로.</div> <div> {</div> <div> int min = i;</div> <div> for(int j=i+1; j<n; j++) // j는 i보다 늘 1 더 큼. </div> <div> if(list[j] < list[min]) // 저장되어있는 배열의 숫자들에서 list[1] 배열에 있는 수 보다 list[0] 배열에 있는 수가 크면</div> <div> min = j; // min에 j값을 저장시키고 </div> <div> swap(list[i], list[min]); // 앞 뒤 순서를 바꿔주는 swap 함수 실행</div> <div>}</div> <div> </div> <div>이러한 알고리즘이 있는데요.</div> <div> </div> <div>궁금한게, 굳이 min이라는 변수를 선언해서 i를 저장시켰다가 j를 저장시켰다가 하는 이유를 모르겠습니다.</div> <div>그냥 반복문만 해서</div> <div> </div> <div>for(int i=0; i<n-1; i++)</div> <div>{</div> <div> for(int j=i+1; j<n; j++)</div> <div> if(list[j] < list[i])</div> <div> swap(list[i], list[j]);</div> <div>}</div> <div> </div> <div>해주면 되지 않나요???</div> <div> </div> <div> </div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.