본문 바로가기
코딩/알고리즘

[정렬] 버블정렬 알고리즘

by 미생22 2023. 1. 27.
728x90

처음부터 끝까지 인접하는 인덱스의 값을 순차적으로 비교하면서 큰 숫자를 가장 끝으로 옮기는 알고리즘

nums = [10, 2, 7, 21, 0]

print(f'not sorted nums : {nums}')

length = len(nums)-1
for i in range(length): 
    # 맨 뒤에서 두번째자리 까지만 잡고 비교하므로
    for j in range(length-i):
        if (nums[j] > nums[j+1]):
            # 둘이 자리바꿈
            temp = nums[j]
            nums[j] = nums[j+1]
            nums[j+1] = temp
            
            # 파이썬에서는 이런 방법도 가능하다
            # nums[j], nums[j+1] = nums[j+1], nums[j]
        print(nums)
    print(i,'번째 끝')

print(f'sorted nums : {nums}')

결과 : 

728x90

'코딩 > 알고리즘' 카테고리의 다른 글

[정렬] 선택정렬 알고리즘  (0) 2023.01.31
[정렬] 삽입정렬 알고리즘  (0) 2023.01.31
[순위] 순위 알고리즘  (0) 2023.01.26
[검색] 이진검색 알고리즘  (0) 2023.01.20
[검색] 선형검색 알고리즘  (0) 2023.01.19