python implementation of a sort algorithm best case scenario on worst case scenario on2 because native python functions min max and remove are already on pure implementation of the fastest merge sort algorithm in python param collection some mutable ordered collection with heterogeneous comparable items inside return a collection ordered by ascending examples mergesort0 5 3 2 2 0 2 2 3 5 mergesort mergesort2 5 45 45 5 2 pure implementation of the fastest merge sort algorithm in python param collection some mutable ordered collection with heterogeneous comparable items inside return a collection ordered by ascending examples merge_sort 0 5 3 2 2 0 2 2 3 5 merge_sort merge_sort 2 5 45 45 5 2
def merge_sort(collection):
    
    start, end = [], []
    while len(collection) > 1:
        min_one, max_one = min(collection), max(collection)
        start.append(min_one)
        end.append(max_one)
        collection.remove(min_one)
        collection.remove(max_one)
    end.reverse()
    return start + collection + end


if __name__ == "__main__":
    user_input = input("Enter numbers separated by a comma:\n").strip()
    unsorted = [int(item) for item in user_input.split(",")]
    print(*merge_sort(unsorted), sep=",")