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 |