Commit bb3e8031 authored by Matej Hakoš's avatar Matej Hakoš
Browse files

second

parent d9b04762
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -9,10 +9,12 @@ def debug_print(debug_msg=None, **kwargs):




def mergesort(array):
def mergesort(array):
    debug_print(array=array)
    if len(array) <= 1:
    if len(array) <= 1:
        return array
        return array


    m = len(array) // 2
    m = len(array) // 2
    debug_print(m=m)


    left = mergesort(array[:m])
    left = mergesort(array[:m])
    right = mergesort(array[m:])
    right = mergesort(array[m:])
@@ -21,6 +23,8 @@ def mergesort(array):




def merge(left, right):
def merge(left, right):
    debug_print(debug_msg="Merging...", left=left, right=right)

    merged = []
    merged = []


    while len(left) > 0 and len(right) > 0:
    while len(left) > 0 and len(right) > 0:
@@ -34,12 +38,16 @@ def merge(left, right):
    else:
    else:
        merged += right
        merged += right


    debug_print(merged=merged)
    return merged
    return merged




if __name__ == "__main__":
if __name__ == "__main__":
    input_str = input("Enter numbers, separated by ',': ")
    input_str = input("Enter numbers, separated by ',': ")

    input_list = input_str.split(",")
    input_list = input_str.split(",")
    debug_print(input_list=input_list)

    value_list = []
    value_list = []
    for x in input_list:
    for x in input_list:
        try:
        try:
@@ -48,5 +56,7 @@ if __name__ == "__main__":
            print("Invalid input.")
            print("Invalid input.")
            quit(1)
            quit(1)


    debug_print(value_list=value_list)

    sorted_list = mergesort(value_list)
    sorted_list = mergesort(value_list)
    print(sorted_list)
    print(sorted_list)