호그와트

머지 머지 정렬!

영웅*^%&$ 2023. 1. 7. 17:47
728x90

'''def merge_sort(arr):
    # 배열의 길이가 1보다 크면 수행
    if len(arr) > 1:
        # 중간 지점을 구함
        mid = len(arr) // 2
        # 왼쪽 부분 배열
        left = arr[:mid]
        # 오른쪽 부분 배열
        right = arr[mid:]

        # 재귀 호출을 통해 왼쪽, 오른쪽 부분 배열을 정렬
        merge_sort(left)
        merge_sort(right)

        # 병합 작업 시작
        i = j = k = 0
        while i < len(left) and j < len(right):
            # 왼쪽 부분 배열의 첫 번째 값과 오른쪽 부분 배열의 첫 번째 값을 비교하여
            # 작은 값을 새로운 배열에 삽입
            if left[i] < right[j]:
                arr[k] = left[i]
                i += 1
            else:
                arr[k] = right[j]
                j += 1
            k += 1

        # 왼쪽 부분 배열에 남은 값이 있으면 삽입
        while i < len(left):
            arr[k] = left[i]
            i += 1
            k += 1

        # 오른쪽 부분 배열에 남은 값이 있으면 삽입
        while j < len(right):
            arr[k] = right[j]
            j += 1
            k += 1

# 정렬할 배열
arr = [5, 2, 1, 3, 4]
# 정렬 수행
merge_sort(arr)
# 정렬된 결과 출력
print(arr)
'''

def sel(n):
    s = []
    while n:
        min_val = min(n)
        s.append(min_val)
        n.remove(min_val)
    return s

k = [12, 23, 52, 13, 36, 15, 26, 37, 747, 36, 36]
print(sel(k))  

728x90

'호그와트' 카테고리의 다른 글

쉘코드를 만들어볼까요?!  (0) 2023.01.10
퀵 정렬 !  (0) 2023.01.08
웹 fuzzer 응애  (0) 2023.01.05
간단한 시뮬레이션을 구성하는 방법  (0) 2023.01.04
solidity로 토큰 만들기  (0) 2023.01.04