Python/Python Basic

버블 정렬 (오름차순 정렬) - 공부하는 도비

DOVISH WISDOM 2022. 10. 28. 12:38  
728x90
반응형

파이썬엔 sort라는 좋은 함수가 있어, 굳이 정렬 함수를 작성하진 않아도 된다. 

하지만, 정리해두면 누군가에겐 도움이 되지 않을까해서 글을 쓰고 있다. 

 

우선 sort 함수를 쓰면 정말 간단하게 배열을 정렬할 수 있다. 

자세한 내용은 아래 링크를 활용하면 좋을 듯 합니다. 

2020.12.23 - [파이썬/파이썬 이론] - [파이썬] 정렬하기 list.sort(), sorted(), 키 함수 사용 - 공부하는 도비

 

[파이썬] 정렬하기 list.sort(), sorted(), 키 함수 사용 - 공부하는 도비

오늘은 파이썬 정렬함수에 대해 알아보겠습니다.! 파이썬에서 정렬가능 함수는 list.sort()함수와 sorted()함수 두가지 있습니다. * list.sort() 와 sorted() 함수 차이 list.sort()는 리스트에게만 적용되고,

yang-wistory1009.tistory.com

 

간단히 sort 함수의 사용을 살펴보면, 한줄로 정렬을 끝낼 수 있습니다. 

a = [10, 2, 4, 8, 1]

print(sorted(a))

 

이제는 버블 정렬을 사용하여 리스트를 정렬해보겠습니다. 

버블 정렬에 관한 내용은 아래 링크를 참고해주세요.

2022.08.06 - [컴퓨터 기초] - [컴퓨터 기초] Bubble Sort - 공부하는 도비

 

[컴퓨터 기초] Bubble Sort - 공부하는 도비

(내가 보려고 만든 자료) Oblivious Sort : the sequence of comparisons is independent of the input 버블 정렬은 입력된 데이터와 관계없이(oblivious sort) 입력 시퀀스를 오름차순으로 정렬하는 자료구조이다..

yang-wistory1009.tistory.com

 

import random

def bubble(start_list):
    length = len(start_list)
    
    for i  in range(0, length-1):
        print()
        for j in range(0, length-1-i):
            if start_list[j] > start_list[j + 1]:
                temp = start_list[j]
                start_list[j] = start_list[j+1]
                start_list[j + 1] = temp  
            else:
                pass
            print(start_list)

    return start_list


start_list = list(range(0, 7, 1))
random.shuffle(start_list)

print(start_list)

end_list = bubble(start_list)

print()
print(end_list)

우선, range를 사용하여 리스트 start_list를 생성하고, random.shuffle을 사용하여  리스트를 섞어줍니다. 

 

파이썬 random 함수는 아래 링크를 참고하면 자세한 내용을 확인하실 수 있습니다. 

2021.04.19 - [파이썬/파이썬 이론] - [파이썬] rand, randn, randint, random.sample, seed, size, shuffle - 공부하는 도비

 

[파이썬] rand, randn, randint, random.sample, seed, size, shuffle - 공부하는 도비

오늘은 파이썬에서 난수를 출력하는 법에 대해서 알아볼게요. 최근 random 값을 사용해서 프로그램 작성할 일이 많아서, 정리를 쫙해둬야겠어요. 우선, 파이썬에서 random을 사용하려면, import random

yang-wistory1009.tistory.com

 

그리고 작성된 bubble 함수를 토대로 리스트를 정렬시켜줍니다.

 

그럼 다음과 같은 결과를 얻을 수 있습니다. 

 

반응형