관리 메뉴

지나가는 이야기

[Python] 선택 정렬(Selection Sort) 사용하기 본문

Computer language : 컴퓨터 언어/Python

[Python] 선택 정렬(Selection Sort) 사용하기

지나가는 이야기 2021. 1. 27. 08:14
728x90
반응형

 

이번에는 여러 정렬 기법 중 선택 정렬(Selection Sort)을 파이썬 코드로 구현해 보겠습니다.

 

먼저, 선택 정렬은 배열에 있는 값들 중 최솟값을 탐색한 후에 정렬을 하는 알고리즘입니다. 이번 글에서는 정렬에 대한 자세한 설명보다는 코드 위주로 보겠습니다.

 

# 정렬할 배열
arr = [64, 25, 12, 22, 11]

위 코드와 같이 정렬을 진행할 배열을 선언합니다.

 

# 배열의 길이만큼 반복문 실행
for i in range(len(arr)):

그 후 위 코드처럼 배열의 길이만큼 반복문을 실행하여 최솟값을 구하고 정렬을 진행을 합니다.

 

728x90

 


# 정렬할 배열
arr = [64, 25, 12, 22, 11]

# 배열의 길이만큼 반복문 실행
for i in range(len(arr)):

    # 가장 작은 값을 저장할 변수에 i를 초기화
    min_idx = i
    for j in range(i + 1, len(arr)):
        # 만약 가장 작은 값변수가 다음 인덱스의 값보다 클경우
        if arr[min_idx] > arr[j]:
            min_idx = j # 값을 변경

    # 값을 변경
    arr[i], arr[min_idx] = arr[min_idx], arr[i]

# 정렬한 배열을 출력
print("[Sorted array]")
for i in range(len(arr)):
    print("%d " %arr[i], end = "")

위 코드는 선택 정렬의 전체 코드로 오름차순 정렬입니다. 여러분들은 위 코드를 참고하여 내림차순 선택 정렬로 프로그램을 짜 보는 건 어떤가요?

 

마지막으로 해당 코드의 결과 사진입니다.

 

728x90
반응형
Comments