
On Thu, Apr 28, 2011 at 12:00 PM, Steven D'Aprano <steve@pearwood.info> wrote:
Mike Graham wrote:
On Thu, Apr 28, 2011 at 10:01 AM, Steven D'Aprano <steve@pearwood.info> wrote:
I think I would like to see a demonstration of this rather than just take your word for it.
One demonstration would be
[snip]
Thank you.
Nevertheless, that does appear to be an easy fix:
def bubble_sort(xs): while True: changed = False for i in range(len(xs) - 1): # don't use `not (xs[i] < xs[i + 1])` as that fails in the # presence of NANs if xs[i] >= xs[i + 1]: changed = True xs[i], xs[i + 1] = xs[i + 1], xs[i] if not changed: break
-- Steven
Note this actually isn't an improvement--it merely takes a noticeable error and turns it into a data-polluter. (Sorting a sequence containing NaNs is obviously not a valid operation, which is the argument for OP's suggestion.) MG