First Summer 2008


Lab Eight: Insertion sort.
Don't forget that Homework Four is due tomorrow.

Today in lab we will try to help you with it.

We will start with this version of sorting:

def min(a):
    min = a[0]
    for i in range(len(a)):
        if a[i] < min:
            min = a[i]
    return min

def sort(a):
    sorted = []
    for elem in a:
        insert(sorted, elem)
        print sorted # for visualization only
    return sorted

def insert(a, num):
    if len(a) == 0:
        a[0:0] = [num]
    else: 
        for i in range(len(a)):
            if a[i] > num:
                a[i:i] = [num]
                return
        a[-1:-1] = [num]
This is how the function works:
>>> a = [4, 2, 3, 6, 1]
>>> sort(a)
[4]
[2, 4]
[2, 3, 4]
[2, 3, 6, 4]
[1, 2, 3, 6, 4]
[1, 2, 3, 6, 4]
>>> a
[4, 2, 3, 6, 1]
>>> 


Last updated: May 07, 2008 by Adrian German for A201/A597