Exemple #1
0
import common
data = common.gen_rand_list(10000, 1, 100)

def qsort(l, h):
	if l >= h:
		return

	t = data[h]
	i = l
	j = h - 1


	while (True):
		while i <= h:
			if data[i] > t:
				break
			i += 1

		while j >= l:
			if data[j] < t:
				break
			j -= 1

		if i > j:
			break

		tmp = data[j]
		data[j] = data[i]
		data[i] = tmp

	j += 1
Exemple #2
0
import common

data = common.gen_rand_list(6, 1, 100)

print data


def msort(l, u):
	if l >= u:
		return [data[l]]
	m = int((l + u) / 2)
	msort(l, m)
	msort(m + 1, u)
	merge(l, m, u)

def merge(l, m, u):
	i = l
	j = m + 1

	#print l, m, u, data[l:m+1], data[m+1: u+1]
	while(i != j and j != u + 1):
		if data[i] >= data[j]:
			data.insert(i, data[j])
			i += 1
			j += 1
			del data[j]
		else:
			i += 1
		#print "i:%d, j:%d" %(i,j), data[l:u + 1]

msort(0, len(data) - 1)