array = counting_sort(array, digit) array = seperate(array, digit) for i in array: output += radix_sort(i, msd=True, digit=digit - 1) else: output = array return output else: return radix_sort(array, lsd=True) #LSD by default if __name__ == "__main__": import os, sys #import shuffler from parent directory dir_path = os.path.dirname(os.path.realpath(__file__)) parent_dir_path = os.path.abspath(os.path.join(dir_path, os.pardir)) sys.path.insert(0, parent_dir_path) from shuffler import random_sequence print("RADIX SORT") shuffled_array = random_sequence(0, 1000) print(shuffled_array, "\n") print("LSD") print(radix_sort(shuffled_array, lsd=True), "\n") print("MSD") print(radix_sort(shuffled_array, msd=True, digit=None))
else: changed = [] draw_graph(screen, array, current=section + 1, changed=[section + 1]) else: array[ section + 1] = comparator # if loop wasn't broken, insert comparator in the right spot if section + 1 >= 0: changed = [section + 1] else: changed = [] draw_graph(screen, array, current=section + 1, changed=changed) return array numVals = 100 shuffled_array = random_sequence(0, min(numVals, screen.winfo_width())) draw_graph(screen, shuffled_array) sorted_array = insertion_sort(shuffled_array) draw_graph(screen, sorted_array, finished=True) screen.mainloop()