CS/알고리즘
정렬 - 삽입정렬(Insertion Sort)
Soom_1n
2021. 4. 26. 16:21
삽입정렬(Insertion Sort) : 리스트의 원소를 정렬이 완료된 부분에서 맞는 자리를 찾아 삽입하여 정렬
[python]
1) 오름차순
arr = [9,2,1,4,10,3,7,5,6,8]
for i in range(1,len(arr)) : #정렬할 원소 인덱스 선택
temp = arr[i] #삽입하여 정렬할 원소를 저장
for j in range(i, -1, -1) : #정렬된 부분 인덱스 선택
if arr[j-1] > temp : #정렬한 원소보다 크면 뒤로 미룸
arr[j] = arr[j-1]
else : #크지 않다면 멈추고
break
arr[j] = temp #그 자리에 정렬할 원소를 삽입
print(arr)
2) 내림차순
arr = [9,2,1,4,10,3,7,5,6,8]
for i in range(1,len(arr)) : #정렬할 원소 인덱스 선택
temp = arr[i] #삽입하여 정렬할 원소를 저장
for j in range(i, -1, -1) : #정렬된 부분 인덱스 선택
if arr[j-1] < temp : #정렬한 원소보다 작으면 뒤로 미룸
arr[j] = arr[j-1]
else : #작지 않다면 멈추고
break
arr[j] = temp #그 자리에 정렬할 원소를 삽입
print(arr)
728x90