728x90
반응형
버블 정렬
: 인접한 2개의 데이터를 비교하여 크면 교환하는 과정을 반복하여, 큰 값을 끝 부분에 위치시킨다.
알게된 개념
-> 처음 버블 정렬 코드를 접할 때, C언어로 공부했었는데 'swap' 개념에 대해서 잘 몰랐어서 공부했다!
"두 변수의 값을 서로 바꾸기"
C언어에서는 두 변수의 값을 서로 바꾸려면 변수가 하나 더 필요하다. 변수에 어떤 값이 대입되면 자신이 가지고 있던 값이 사라지고 새로 대입된 값이 저장되기 때문에 기존에 변수가 가지고 있던 값을 보관하고 싶다면 temp 변수를 하나 더 선언하고 그 변수에 값을 저장해야 한다.
파이썬으로 버블정렬 구현하기
from random import randint
def bubble_sort(arr):
for i in range(n-1):
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
arr = [randint(1,50) for i in range(8)]
n = len(arr)
print(bubble_sort(arr))
728x90
반응형
'Algorithm > Sorting Algorithm' 카테고리의 다른 글
합병 정렬 (Merge Sort) (0) | 2021.07.14 |
---|---|
힙 정렬 (Heap Sort) (0) | 2021.07.14 |
삽입 정렬 (Insertion Sort) (0) | 2021.07.14 |
퀵 정렬 (Quick Sort) (0) | 2021.07.13 |
선택 정렬 (Selection Sort) (0) | 2021.07.13 |