본문 바로가기

공부/자료 구조 및 알고리즘

선택정렬 (Selection Sort) - python

arr = [31, 53, 75, 42, 15, 64, 31]
print("[정렬되지 않은 배열]")
print(arr)
print()

for i in range(len(arr)):
    minIndex = i

    for j in range(i+1, len(arr)):
        if arr[minIndex] > arr[j]:
            minIndex = j
    arr[i], arr[minIndex] = arr[minIndex], arr[i]

print("[정렬 완료된 배열]")
print(arr)
[정렬되지 않은 배열]
[31, 53, 75, 42, 15, 64, 31]

[정렬 완료된 배열]
[15, 31, 31, 42, 53, 64, 75]

1. 배열 arr[0~n]에서 가장 큰 원소 찾기

2. 이 원소와 배열 끝의 arr[n]은 정렬에서 제외

3. 나머지 원소들도 1 ~ 2 과정 반복

 

 

최소값을 배열 앞부분에 채워 넣으면서 진행됨.

 

알고리즘 중간고사 대비 긴급 백업.