
: 일정한 자료형의 변수들을 하나의 이름으로 열거하여 사용하는 자료구조
: 2개 이상의 자료를 특정 기준에 의해 작은 값부터 큰 값(오름차순: ascending), 혹은 그 반대의 순서대로(내림차순: descending) 재배열하는 것
: 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식




def BubbleSort_asc(a, N): #a: 정렬할 List, N: 원소 개수
for i in range(N-1, 0, -1): #범위의 끝 위치
for j in range(0, i): #비교할 왼쪽 원소
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
return a
def BubbleSort_dec(a, N):
for i in range(N-1, 0, -1): #범위의 끝 위치
for j in range(i): #비교할 왼쪽 원소
if a[j] < a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
return a
N = 6
arr = [7, 2, 5, 3, 1, 4]
print(BubbleSort_asc(arr, N)) #[1, 2, 3, 4, 5, 7]
print(BubbleSort_dec(arr, N)) #[7, 5, 4, 3, 2, 1]