시간복잡도 : O(n^2)
이웃한 두 값을 비교하여 정렬
큰 값이 오른쪽으로 이동하는 과정이 반복되며 비교했던 모든 값들의 최댓값이 맨 오른쪽으로 옮겨진다
1..
def bubbleSort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print(arr)
2..
def swap(x, i, j):
x[i], x[j] = x[j], x[i]
def bubbleSort(arr):
n = len(arr)
for i in reversed(range(n)):
for j in range(i):
if arr[j] > arr[j+1]:
swap(arr, j, j+1)
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print(arr)