def bubbleSort(arr):
for i in range(len(arr)-1):
for j in range(len(arr)-(i+1)):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
print(arr)
return arr
arr = [6,5,3,2,8]
bubbleSort(arr)
# [5, 6, 3, 2, 8]
# [5, 3, 6, 2, 8]
# [5, 3, 2, 6, 8]
# [3, 5, 2, 6, 8]
# [3, 2, 5, 6, 8]
# [2, 3, 5, 6, 8]
def bubbleSort(arr):
for i in range(len(arr)-1,0,-1):
swapped = False
for j in range(i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
print(arr)
if not swapped: # 정렬할 부분이 없다.
print(i, j)
break
return arr
arr = [1,2,9,7,5]
bubbleSort(arr)
# [1, 2, 7, 9, 5]
# [1, 2, 7, 5, 9]
# [1, 2, 5, 7, 9]
# 2 1 -> i가 2일때 j = 0, 1을 돌면서 정렬할 것이 없었다. 따라서 정렬이 다되었으므로 break