学习python,随便写了下快排,代码如下:
# -*- coding:utf-8 -*- # 快速排序算法实现 import sys sys.setrecursionlimit(1000000) #设置最大递归深度,这里设置为一百万 def kuaipai(ii, jj, data_list): global s; s += 1; # 记录递归的深度 i = ii; j = jj; if i == j: return; l = 1; # 记录判定交替i,j while j != i: if data_list[i] > data_list[j]: k = data_list[i]; data_list[i] = data_list[j]; data_list[j] = k; if l == 0: j -= 1; l = 1; else: i += 1; l = 0; else: if l == 1: j -= 1; else: i += 1; if ii < i: kuaipai(ii, i - 1, data_list); if j < jj: kuaipai(j + 1, jj, data_list); return; global s; # 存储递归次数 #data = raw_input(); # 输入数据,逗号隔开 #data_list = data.split(','); # 分割字符串为list s = 0; data_list = range(1000, 0, -1); n = len(data_list); # 计算列表长度 kuaipai(0, n - 1, data_list); print s; print data_list;