1. 삽입정렬
정렬되어 있는 자료 배열과 비교해서 정렬 위치를 찾음
nums = [5, 10, 2, 1, 0]
for i1 in range(1, len(nums)):
i2 = i1 - 1
cNum = nums[i1]
print(f'i2 = {i2}')
print(f'nums[i2] = {nums[i2]}')
print(f'cNum = {cNum}')
while nums[i2] > cNum and i2 >= 0:
nums[i2 + 1] = nums[i2]
i2 -= 1
print(f'nums[i2] = {nums[i2]}')
print(f'nums[i2 + 1] = {nums[i2 + 1]}')
nums[i2 + 1] = cNum
print(nums)
print(nums)
2. 선택정렬
주어진 리스트 중 최소값을 찾아, 그 값을 맨 앞에 위치한 값과 교체하는 방식으로 정렬
nums = [4, 2, 5, 1, 3]
print(nums)
for i in range(len(nums)-1):
minIdx = i
for j in range(i+1, len(nums)):
if nums[minIdx] > nums[j]:
minIdx = j
# tempNum = nums[i]
# nums[i] = nums[minIdx]
# nums[minIdx] = tempNum
nums[i], nums[minIdx] = nums[minIdx], nums[i]
print(nums)
print(nums)