Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

woojin++

[8월30일] Python 알고리즘 , 버블정렬(Bubble Sort) 본문

Python

[8월30일] Python 알고리즘 , 버블정렬(Bubble Sort)

곰바구니 2021. 8. 30. 18:45

이해하게 되면 거품이 물에서 떠오르는 모양처럼 숫자가 정렬이 되서 버블정렬이라고 한다.

알고리즘에서 가장 첫번째로 나오는 알고리즘 

알포자: 알고리즘을 포기한 개발자 

수포자: 수학 포기한 자들 

ㅋㅋ...

1. 이직, 거르는 용도 

2. 알고리즘 공부 하면 소스코드가 눈에 잘보임

#버블(거품) 정렬


# 핵심로직 : 첫번째꺼랑 두번째꺼랑 비교해서 두번째께 더 작으면 첫번째꺼랑 자리를 바꾼다. 


# n, n + 1 => 권위주의의 상징 


numbers = [7,3,2,9]
# first = numbers[0] # 7 
# second = numbers[1] # 3
# print(first, second)

# print(first > second) # 7 > 3  = True 

# # 1. 자리바꾸기 

# temp = first
# first = second 
# second = temp

# print(first, second)


# print(numbers)


numbers = [3,7,2,9] # n n +1 
# first = numbers[0] # 3
# third = numbers[2] # 2
# print(first, third)
# print(first > third) # 3 > 2 = True

# # 2. 자리 바꾸기 

# temp = first
# first = third
# third = temp

# print(first , third) # 2 3 


numbers = [2,7,3,9] # n n +2 

# first = numbers[0] # 2 
# fourth = numbers[3] # 9
# print(first, fourth) # 2 9
# print(first > fourth) # 2 > 9 = false

# 변경 x 

numbers = [2,7,3,9] # n n +3


#  비교해서 뒤에께 작았을 때 바꾼다.

 

numbers = [7, 3, 2, 9]


#0번째와 나머지를 모두 비교를 한다. 한바퀴  => 가장 작은게 0번째에 온다 
#1번째와 나머지를 모두 비교를 한다. 두바퀴  => 두번째 작은게 1번째에 온다.


# n 0 ~ 3 /  range n + 1
def BubbleSort(arr):
    for n in range(len(arr)):
        
        for index in range(n+1, len(arr)):
            if arr[n] > arr[index]:
            # 자리를 바꿔준다.
                temp = arr[n]
                arr[n] = arr[index]
                arr[index] = temp
    return arr



result = BubbleSort(numbers)
print(result)