Insertion sort - Answers
Here are some different versions of the insertion sort program, which you can copy and paste straight into Python.
VERSION 1
import random
myArray = [] # create an empty list
size = int(input('How many data items? >>> ')) # ask for the size required
for i in range(size): # for i= 0 to (size-1)
myArray.append(random.randint(1,500)) # get a random number and append it
print('Unsorted list:')
for i in range(len(myArray)): # for i= 0 to (size-1)
print(myArray[i],end=' ')
for j in range(1,len(myArray)):
key = myArray[j]
i = j - 1
while i >= 0 and myArray[i] > key:
myArray[i + 1] = myArray[i]
i = i-1
myArray[i+1] = key
print('\nSorted list:')
for i in range(len(myArray)): # for i= 0 to (size-1)
print(myArray[i],end=' ')
VERSION 2
##import random
##
##myArray = [] # create an empty list
##size = int(input('How many data items? >>> ')) # ask for the size required
##for i in range(size): # for i= 0 to (size-1)
## myArray.append(random.randint(1,500)) # get a random number and append it
myArray=["adder", "zebra", "lion", "rat", "koala bear", "monkey", "shark", "ant"]
print('Unsorted list:')
for i in range(len(myArray)): # for i= 0 to (size-1)
print(myArray[i],end=' ')
for j in range(1,len(myArray)):
key = myArray[j]
i = j - 1
while i >= 0 and myArray[i] > key:
myArray[i + 1] = myArray[i]
i = i-1
myArray[i+1] = key
print('\nSorted list:')
for i in range(len(myArray)): # for i= 0 to (size-1)
print(myArray[i],end=' ')
VERSION 3
import random
#This code creates a list of random numbers
myArray = [] # create an empty list
size = int(input('How many data items? >>> ')) # ask for the size required
for i in range(size): # for i= 0 to (size-1)
myArray.append(random.randint(1,500)) # get a random number and append it to the list
#This function prints out the list.
def printArray(anyArray):
for i in range(len(anyArray)): # for i= 0 to (size-1)
print(anyArray[i],end=' ')
print('\n')10
for j in range(1,len(myArray)):
key = myArray[j]
i = j - 1
while i >= 0 and myArray[i] > key:
myArray[i + 1] = myArray[i]
i = i-1
myArray[i+1] = key
printArray(myArray)