# -*- 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))