나는이 연습 문제와 아주 혼동 스럽다. 질문은선택 정렬에서 숫자 이동이 어떻게 작동합니까?
선택 정렬 알고리즘의 가장 바깥 쪽 루프의 첫 번째 3 번 통과 후에 배열 아래 요소의 상태를 씁니다.
int[] numbers = {45, 78, 89, 34, 23, 12, 67, 56};
selectionSort(numbers);
after pass 1:
after pass 2:
after pass 3:
나는이 연습 문제와 아주 혼동 스럽다. 질문은선택 정렬에서 숫자 이동이 어떻게 작동합니까?
선택 정렬 알고리즘의 가장 바깥 쪽 루프의 첫 번째 3 번 통과 후에 배열 아래 요소의 상태를 씁니다.
int[] numbers = {45, 78, 89, 34, 23, 12, 67, 56};
selectionSort(numbers);
after pass 1:
after pass 2:
after pass 3:
난 그 숙제라고 생각하기 때문에 나는 당신의 정확한 예를 표시하지 않습니다하지만 난 또 다른 예를 들어 당신을 보여줄 것이다 :
먼저선택 정렬의 psudo 코드 :
repeat (numOfElements - 1) times
set the first unsorted element as the minimum
for each of the unsorted elements
if element < currentMinimum
set element as new minimum
swap minimum with first unsorted position
예 :
int[] numbers = {8, 23, 7, 34, 50, 15, 16};
selectionSort(numbers);
설정 8 등 현재의 최소값을 찾은 다음 나머지의 정렬되지 않은 요소를 반복하여 실제 최소값을 찾습니다.
첫 번째 정렬되지 않은 요소 (8)로 최소 (7)을 바꿉니다.
after pass 1: {7, 23, 8, 34, 50, 15, 16}
첫 번째 정렬되지 않은 요소 (23)로 최소 (8)을 바꿉니다.
after pass 2: {7, 8, 23, 34, 50, 15, 16}
첫 번째 정렬되지 않은 요소 (23)로 최소 (15)를 바꿉니다.
after pass 3: {7, 8, 15, 34, 50, 23, 16}
첫 번째 정렬되지 않은 요소 (34)로 최소 (16)을 바꿉니다.
after pass 4: {7, 8, 15, 16, 50, 23, 34}
첫 번째 정렬되지 않은 요소 (50)로 최소 (23)을 바꿉니다.
after pass 5: {7, 8, 15, 16, 23, 50, 34}
첫 번째 정렬되지 않은 요소 (50)로 최소 (34)를 교체하십시오.
after pass 6: {7, 8, 15, 16, 23, 34, 50}
정렬 기준 :
정말 고마워요. 이것은 많은 의미가 있습니다. – Aayush
선택 정렬은 어떻게 작동합니까? 하바 [Wikipedia] (https://en.wikipedia.org/wiki/Selection_sort)에서보기 –
@ JarlikStepsto 감사합니다. – Aayush