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

Merge remote-tracking branch 'upstream/master'

parents acf7d7e5 dd2979f9
Loading
Loading
Loading
Loading

basics/mergesort.py

0 → 100644
+52 −0
Original line number Original line Diff line number Diff line

def debug_print(debug_msg=None, **kwargs):

    if debug_msg:
        print(debug_msg)

    for key, value in kwargs.items():
        print("{}: {}".format(key, value))


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

    m = len(array) // 2

    left = mergesort(array[:m])
    right = mergesort(array[m:])

    return merge(left, right)


def merge(left, right):
    merged = []

    while len(left) > 0 and len(right) > 0:
        if left[0] <= right[0]:
            merged.append(left.pop(0))
        else:
            merged.append(right.pop(0))

    if len(left) > 0:
        merged += left
    else:
        merged += right

    return merged


if __name__ == "__main__":
    input_str = input("Enter numbers, separated by ',': ")
    input_list = input_str.split(",")
    value_list = []
    for x in input_list:
        try:
            value_list.append(int(x))
        except ValueError as err:
            print("Invalid input.")
            quit(1)

    sorted_list = mergesort(value_list)
    print(sorted_list)

basics/readme.md

0 → 100644
+1 −0
Original line number Original line Diff line number Diff line
This directory contains materials for Basics repository-exercises
+1 −0
Original line number Original line Diff line number Diff line
1,5,6,2,4,3,7,0,9,8
+1 −0
Original line number Original line Diff line number Diff line
Enter numbers, separated by ',': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

ignore.txt

0 → 100644
+1 −0
Original line number Original line Diff line number Diff line
Testing GitLab settings. Ignore this file