A ~ C까지 한 번이라도 실행될 경우, 데이터에서 가장 큰 요소는 맨 마지막에 위치하게 된다.
즉, A ~ D까지 반복할 수록 큰 요소부터 마지막에 정렬되기 시작한다.
import time
def bubble_sort(data):
loop = len(data) - 1
sorted = False
while not sorted:
sorted = True
# 각 패스쓰루에서 모든 요소가 정렬되면 sorted는 True가 된다
for i in range(loop):
# 요소가 클 경우에만 ( 즉, 정렬할 필요가 있을 경우에만 sorted를 False로 지정 )
if data[i] > data[i + 1]:
data[i], data[i + 1] = data[i + 1], data[i]
sorted = False
loop -= 1
return data
data = [65, 55, 45, 35, 25, 15, 10]
t1 = time.time()
result = bubble_sort(data)
print(result)
t2 = time.time()
print(f"실행시간 : {t2 - t1:.8f}")