# coding=utf-8 __author__ = 'tsaowe' #升序排序 def sort(array, start, end): """ :param array: 待排序的序列 :param start: 排序的方向的第一个数的位置 :param end: 排序方向上的最后一个数的位置 """ if start > end: if abs(start - end) == 1: if array[start] < array[end]: array[start], array[end] = array[end], array[start] else: for i in range(start, end, -1): if array[i] < array[i - 1]: array[i], array[i - 1] = array[i - 1], array[i] sort(array, end + 1, start) else: if abs(start - end) == 1: if array[start] > array[end]: array[start], array[end] = array[end], array[start] else: for i in range(start, end, 1): if array[i] > array[i + 1]: array[i], array[i + 1] = array[i + 1], array[i] sort(array, end - 1, start) if __name__ == '__main__': array = [1, 9, 7, 2, 6, 8, 10, -2, 7, 7, 89, 87, 45, -9] sort(array, 0, len(array) - 1) print(array)
鸡尾酒排序 递归 python实现
猜你喜欢
转载自tsaowe.iteye.com/blog/1882738
今日推荐
周排行