알고리즘(3)-정렬

YU NA Joe·2022년 6월 8일
0

버블 정렬

버블정렬에는 오름차순정렬, 내림차순정렬이 있다. 
1. 오름차순은 두개의 수를 비교, 큰 수를 뒤쪽으로 교환.
따라서 가장 큰 값이 리스트의 맨 뒤에 오게 된다

2. 내림차순은 두개의 수를 비교, 작은수를 뒤쪽으로 교환
따라서 가장 작은 값이 리스트의 맨 앞에 오게 된다
---------------------------------------------------

# 방법1
1. 오름차순
def bubbleSort(array):
    for i in range(len(array)):
        for j in range(len(array)-1-i):
            if array[j] > array[j+1]:
                temp = array[j]
                array[j] = array[j+1]
                array[j+1] = temp 
    print(array)   
                
data = [-2, 45, 0, 11, -9]
bubbleSort(data)
# [-9, -2, 0, 11, 45]

2. 내림차순
def bubbleSort(array):
    for i in range(len(array)):
        for j in range(len(array)-1-i):
            if array[j] < array[j+1]:
                temp = array[j+1]
                array[j+1] = array[j]
                array[j] = temp
    print(array)  
    
data = [-2, 45, 0, 11, -9]
bubbleSort(data)
# [45, 11, 0, -2, -9]

---------------------------------------------------
# 방법 2

1. 오름차순

n = [62, 23, 32, 15]

for i in range(len(n)):
    for j in range(0,len(n)-i-1):
        if n[j] > n[j+1]:
            n[j], n[j+1] = n[j+1], n[j]
            
print(n)

2. 내림차순

n = [62, 23, 32, 15]

for i in range(len(n)):
    for j in range(0,len(n)-i-1):
        if n[j] < n[j+1]:
            n[j+1], n[j] = n[j], n[j+1]
print(n)

출처

https://www.programiz.com/dsa/bubble-sort#:~:text=Bubble%20sort%20is%20a%20sorting,is%20called%20a%20bubble%20sort.

0개의 댓글