2、t) if iter_len< 2: return sort_list for i in range(1,iter_len): key = sort_list[i] j = i - 1 while j>=0 and sort_list[j]>key: sort_list[j+1] = sort_list[j] j -= 1 sort_list[j+1] = key return sort_list 冒泡排序:def
3、bubble_sort(sort_list): iter_len = len(sort_list) if iter_len< 2: return sort_list for i in range(iter_len-1): for j in range(iter_len-i-1): if sort_list[j]>sort_list[j+1]: sort_list[j],sort_list[j+1] = sort_list[j+1],sort_list[
4、j] return sort_list 选择排序:def selection_sort(sort_list): iter_len = len(sort_list) if iter_len< 2: return sort_list for i in range(iter_len-1): smallest = sort_list[i] location = i for j in range(i,iter_len): if sort_list[j]
7、以中间值分成左右两个序列,然后对于各子序列再递归调用。源代码如下,由于有工具函数,所以写成了callable的类:class merge_sort(object): def _merge(self,alist,p,q,r): left = alist[p:q+1] right = alist[q+1:r+1] for i in range(p,r+1): if len(left)>0 and len(right)>0: if left[0]<=rig