این برنامه فرقش با بابل سورت معمولی اینه که اگر در یک سری هیچ جابه جایی (بخوانید swap) انجام نشد آرایه قطعا سورت شده است و بیخیالش می شود!

def bs(A):
    n = len(A)
    h = t = 0
    while h == 0 and t < n:
        h = 1 
        for i in range(n-t-1):
            if A[i] > A[i+1]:
                h = 0
                A[i], A[i+1] = A[i+1], A[i]            
        t += 1
    return A