: 데이터를 특정 기준에 따라 순서대로 나열하는 것
sorted() _ 함수
- 병합 정렬 기반의 함수
- 리스트, 딕셔너리 자료형 등을 입력받아 정렬된 결과를 출력
- 집합이나 딕셔너리 자료형을 입력받아도 반환되는 결과는 리스트 자료형
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
result = sorted(array)
print(result)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array)
# [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
.sort() _ 리스트 객체의내장 함수
- 별도의 정렬된 리스트가 반환되지 않고 내부 원소가 바로 정렬됨
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
array.sort()
print(array)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
출처: https://en.wikipedia.org/wiki/Bubble_sort
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(len(array)-1):
for j in range(len(array)-i-1):
if array[j] > array[j+1]: # 두개의 인접 데이터 비교
array[j], array[j+1] = array[j+1], array[j] # swap
print(array)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
출처: https://en.wikipedia.org/wiki/Selection_sort
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(len(array)):
min_idx = i # 가장 작은 원소의 인덱스
for j in range(i+1, len(array)):
if array[min_idx] > array[j]:
min_idx = j
array[i], array[min_idx] = array[min_idx], array[i] # Swap
print(array)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
출처: https://commons.wikimedia.org/wiki/File:Insertion-sort-example.gif
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(1, len(array)):
for j in range(i, 0, -1): # i부터 1까지 역으로 확인
if array[j] < array[j-1]: # 자기보다 크다면 한 칸씩 왼쪽으로 이동
array[j], array[j-1] = array[j-1], array[j]
else: # 자기보다 작은 수를 만나면 멈춤
break
print(array)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]