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
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
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