Computer Science/자료구조

[5.21] 06-3 단순 선택 정렬 straight selection sort

토마토. 2021. 5. 21. 18:05

단순 선택 정렬 알아보기

아직 정렬하지 않은 범위에서 값이 가장 작은 원소를 선택하고

for i in range(n-1)

  min

  a[i]와 a[min]을 교환

아직 정렬하지 않은 부분의 맨 앞 원소와 교환하는 작업을 반복한다. 

왕 풀었다

from typing import MutableSequence

def selection_sort(a:MutableSequence) -> None:
    n = len(a)
    min = 0
    for i in range(n-1):
        for j in range(i, n):
            if a[j] <= a[min]:
                min = j
        a[i], a[min] = a[min], a[i]
    return a

a = [4, 5, 2, 1, 3]
print(selection_sort(a))

예제 코드

from typing import MutableSequence

def selection_sort(a:MutableSequence) -> None:
    n = len(a)
    for i in range(n-1):
        min = i
        for j in range(i+1, n):
            if a[j] <= a[min]:
                min = j
        a[i], a[min] = a[min], a[i]
    return a

a = [4, 5, 2, 1, 3]
print(selection_sort(a))