基偶转换排序

# -*- coding: utf-8 -*-
# @Time    : 18-11-14 下午8:05
# @Author  : Guo Zhengbing
# @Email   : cn_gzb@126.com

#  基偶转换排序

def odd_even_sort(A):
    odd_date = False
    even_date = False
    while((not odd_date) or (not even_date)):
        odd_date = True
        j = 1
        while (j < len(A) - 1):
            if A[j] > A[j + 1]:
                A[j], A[j + 1] = A[j + 1], A[j]
                odd_date = False
            j += 2

            print(A)
        even_date = True
        i = 0
        while (i < len(A) - 1):
            if A[i] > A[i + 1]:
                A[i], A[i + 1] = A[i + 1], A[i]
                even_date = False
            i += 2

            print(A)
    return A
if __name__ == '__main__':
    A = [7, 10, 15, 23, 6, 9, 3, 4]
    print("排序前:", A)
    print("排序后:", odd_even_sort(A))

原文地址:https://www.cnblogs.com/cn-gzb/p/9960143.html