from random import shuffle from sys import argv def swap(x, j, k): if j != k: x[j], x[k] = x[k], x[j] def is_in_order(x): """ prec: x is a list of sortable items postc: return True if the list is in ascending order """ for k in range(len(x)-1): if x[k] > x[k+1]: return False return True ## O(n!) Ugh. def bozo(x): while not is_in_order(x): shuffle(x) #x = [0, -40, 13, 12, 8, 3,6,1,-4, 5, 8, 1] def bubble(x): pointer = len(x) while pointer > 1: for k in range(pointer - 1): if x[k] > x[k+1]: swap(x, k, k+1) pointer -= 1 def trickle(x): pass def merge(x): pass def zipper(x, y): pass n = int(argv[1]) x = list(range(n)) shuffle(x) print(x) bubble(x) print(x)