앞에서부터 2개의 데이터를 비교하여 작은 데이터가 앞으로 가도록 정렬
python 코드
def bubble_sort(lst):
for i in range(len(lst)-1):
swap = True
for j in range(len(lst)-1-i):
if lst[j] > lst[j+1]:
lst[j], lst[j+1] = lst[j+1], lst[j]
swap = False
print(lst)
if swap == True:
break
return lst
맨 앞의 데이터와 나머지 데이터를 비교 후 최소값을 맨 앞의 데이터와 교체
맨 앞을 제외한 다음 데이터부터 다시 동일하게 진행
위 내용을 반복
예시) (출처:http://blog.naver.com/PostView.nhn?blogId=jsky10503&logNo=221249976761)
python 코드
def selection_sort(lst):
for i in range(len(lst)-1):
a = i
for j in range(i+1, len(lst)):
if lst[a] > lst[j]:
a=j
lst[i], lst[a] = lst[a], lst[i]
return lst
두 번째 인덱스부터 시작
해당 data 앞 데이터부터 비교, 첫 데이터 까지 비교 반복
더 작은 데이터를 만나면 서로 변경
예시)(출처:http://blog.naver.com/PostView.nhn?blogId=justant&logNo=20204025251)
python 코드
def insert_sort(lst):
for i in range(1, len(lst)):
for j in range(i,0,-1):
if lst[j] < lst[j-1]:
lst[j], lst[j-1] = lst[j-1], lst[j]
print(lst)
else:
break
return lst