import sys def SimpleReversalSort(pi): flips = 0 for i in xrange(len(pi)): j = pi.index(min(pi[i:])) if (j != i): flips += 1 pi = pi[:i] + [v for v in reversed(pi[i:j+1])] + pi[j+1:] print "%2d: rho(%d,%d) = %s" % (flips, i, j, pi) return pi if __name__ == "__main__": # Testing code test = [ 6, 1, 2, 3, 4, 5 ] print test print SimpleReversalSort(test)