Пример #1
0
def insertion_sort(list):
	N = len(list)
	for i in range(0, N):
		for j in range(i, 0, -1):
			if list[j] < list[j - 1]:
				sort_util.swap(list, j, j - 1)
	return list
Пример #2
0
def selection_sort(list):
	N = len(list)
	for i in range(0, N):
		minInd = i
		for j in range(i, N):
			if list[j] < list[minInd]:
				minInd = j
		sort_util.swap(list, i, minInd)
	#print list
	return list
Пример #3
0
def partition(list, left, right):
	#just take the 1st item.
	pivot = list[0]
	#pivot = list[(left + right) / 2]
	pivot_pos = -1
	i = left
	j = right
	while i <= j:
		while list[i] < pivot:
			i += 1
		while list[j] > pivot:
			j -= 1
		if i <= j:
			pivot_pos = i
			sort_util.swap(list, i, j)

	sort_util.swap(list, pivot_pos, j)
	return pivot_pos