[CodeKata] -22

김가람휘·2022년 3월 14일
0

CodeKata

목록 보기
22/28

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

0개의 댓글