컴공과컴맹효묘의블로그

파이썬 가장 쉬운 정렬 알고리즘- 순차정렬 본문

컴퓨터/Python

파이썬 가장 쉬운 정렬 알고리즘- 순차정렬

효묘 2020. 2. 16. 20:52
반응형

sequentialSort.py
0.00MB

다운로드

 

Python으로 순차정렬을 구현한 순차정렬입니다.

 

import random as rand
array = []

# 0부터 100미만의 정수들을 담는 리스트 생성. (array)
for i in range (100):
    array.append(rand.randint(0,100))

# 정렬 알고리즘 적용 전 list
print("====정렬 전====")
for i in range(len(array)):
    print(array[i], end=', ')
print()

############################ ALGORITHM ##############################
    
# 정렬 알고리즘 o(N^2) 시작
for i in range(0, len(array)):
    # i번째를 기준으로 삼음. i를 최소라고 가정함
    ## 기준값은 최소값이라고 생각 (기준값 == array[min_index]
    min_index = i
    for j in range(i, len(array)):
        # i번째부터 끝까지 기준값보다 작은 값을 탐색함
        # 기준값보다 작은 수가 있다면,
        if array[j] < array[min_index]:
            # 기준값의 인덱스는 j로 변경
            min_index = j

    # array[i] 와 array[min_index]를 서로 바꿈
    tmp = array[i]
    array[i] = array[min_index]
    array[min_index] = tmp


#####################################################################

print("====정렬 후====")
#정렬이 제대로 되었는지 출력
for i in range(0, len(array)):
    print(array[i],end=', ')
print()


#정렬이 제대로 되었는지 True, False를 출력
isSorted = True
for i in range(0, len(array)-1):
    if array[i] > array[i+1]:
        isSorted = False
print("정렬이 되었는가? "+str(isSorted))
​
반응형
Comments