QuickSort 实现 (MIT Algorithm Course)

def partition(numList,p,q):
	x = numList[p]; #pivot
	i = p;
	for j in range(p+1,q):
		if numList[j] <= x:
			i = i + 1;
			tmp = numList[i];
			numList[i] = numList[j];
			numList[j] = tmp;
	tmp = numList[p];
	numList[p] = numList[i];
	numList[i] = tmp;
	return i;


def quickSort(numList,p,q):
	global alist;
	alist = numList;
	if p < q:
		r = partition(numList,p,q);
		quickSort(numList,p,r);
		quickSort(numList,r+1,q);
	return alist;

猜你喜欢

转载自penergy.iteye.com/blog/2301527