관리 메뉴

지나가는 이야기

[Python] 버블 정렬(Bubble Sort) 사용하기 본문

Computer language : 컴퓨터 언어/Python

[Python] 버블 정렬(Bubble Sort) 사용하기

지나가는 이야기 2021. 1. 26. 12:15
728x90
반응형

 

이번에는 파이썬으로 버블 정렬에 대해 알아보겠습니다.

 

먼저 버블 정렬은 정렬의 가장 기본이다. 버블 정렬은 위 사진에서 보듯이 현재 인덱스의 값보다 다음 인덱스의 값이 작을 경우 서로 값을 변경하는 정렬 알고리즘이다.

 

if arr[j] > arr[j + 1]: 
	arr[j], arr[j + 1] = arr[j + 1], arr[j

위 코드 부분이 값을 변경하는 부분이다. 여기서 파이썬만 가능한 것이 있다. 여차 다른 언어 같은 경우에는 2개의 변수에 있는 값을 서로 바꾸기 위해서는 총 3개의 변수가 필요하지만 파이썬에서는 2개의 변수만으로 값을 서로 바꿀 수 있다.

 

728x90

 


# 버블 정렬의 범용성을 높이기 위해 함수로 만듬
def bubbleSort(arr):
    n = len(arr) # 배열의 크기를 측정

    # 배열의 크기만큼 반복
    for i in range(n):
        
        # 배열의 총 크기에서 i의 값과 1을 뺀 만큼 반복
        for j in range(0, n - i - 1):
            
            # 만약 현재 인덱스의 값이 다음 인덱스의 값보다 클경우 실행
            if arr[j] > arr[j + 1]: 
                arr[j], arr[j + 1] = arr[j + 1], arr[j] # 서로 위치를 변환

# 예시 배열
arr = [64, 34, 25, 12, 57, 93, 1, 123]

bubbleSort(arr)

print("[Sorted array is]")
for i in range(len(arr)):
    print("%d " %arr[i], end = "")

위 코드는 전체 코드이다.

 

마지막으로 위 사진은 결과 사진으로 오름차순으로 정렬된 것을 확인할 수 있다.

 

728x90
반응형
Comments