🔑알고리즘/programming language
[Python] 선택정렬 오름차순 구현하기
pkyung
2021. 5. 10. 18:20
반응형
이 리스트를 선택정렬로 구현해보도록 합시다.
list1 =[5,9,2,3,1]
일단 선택정렬에 대해 알아볼까요?
5 | 9 | 2 | 3 | 1 |
1 | 9 | 2 | 3 | 5 |
1 | 2 | 9 | 3 | 5 |
1 | 2 | 3 | 9 | 5 |
1 | 2 | 3 | 5 | 9 |
선택정렬이란?
첫 번째 값인 5 / 9,2,3,1 이 중에 최솟값인 1을 찾아서 5와 자리를 바꾼다.
1 / 9 / 2,3,5 이 중에 최솟값은 2를 찾아 9와 자리를 바꾼다.
1 / 2 / 9 / 3,5 이 중에 최솟값인 3을 찾아 9와 자리를 바꾼다.
1 / 2 / 3 / 9 / 5 이 중에 최솟값인 5를 찾아 9와 자리를 바꾼다.
1 / 2 / 3 / 5 / 9 로 정렬된다.
list1 =[5,9,2,3,1]
print(0,"번 째 반복 : ",list1)
for i in range(len(list1)-1):
min_v = min(list1[i:]) # 0,1,2,3 : 4 에서의 최솟값을 찾는다
index = list1.index(min_v) # 최솟값일 때의 인덱스
index1 = list1[i] # 바뀔 값을 index1이라는 변수에 저장해놓음
for j in range(len(list1)-1):
list1[i] = min_v # 두 수 바꾸기
list1[index] = index1
print(i+1,"번 째 반복 : ",list1)
print(list1)
이 코드를 실행했을 때 나오는 결과입니다.
반응형