정렬이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다.
프로그램에서 데이터를 가공할 때 오름차순이나 내림차순 등 대부분 어떤 식으로든 정렬해서 사용하는 경우가 많이에 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나다.
링크텍스트
-> 공부에 참고한 동영상
# 버블 정렬
def bubble_sort(A):
n = len(A)
for i in range(n-1,0,-1):
bChanged = False
for j in range(i):
if (A[j] > A[j+1]):
A[j],A[j+1] = A[j+1], A[j]
bChanged = True
if not bChanged :
break
printStep(A,n-i)
# 선택 정렬 알고리즘
list = [0,1,2,3,4,5,6,7,8,9]
for i in range(len(list)):
min_index = i
for j in range(i+1, len(list)):
if (list[j]<list[min_index]):
min_index = j
list[i], list[min_index] = list[min_index],list[i] # 스와프
print(list)
# 삽입 정렬 소스 코드
list = [3,4,5,1,2,7,8,33,12,21,11,10]
for i in range(1,len(list)):
for j in range(i,0,-1):
if list[j] < list[j-1]:
list[j], list[j-1] = list[j-1], list[j]
else:
break
print(list)