CS146
Chris Pollett
Feb 5, 2014
1 for j=2 to A.length 2 key = A[j] 3 // Insert A[j] into the sorted sequence A[1..j-1] 4 i = j - 1 5 while i > 0 and A[i] > key 6 A[i+1] = A[i] 7 i = i - 1 8 A[i + 1] = key
import sys
def insertion_sort(A):
for j in range(1, len(A)):
key = A[j]
# Insert A[j] into the sorted sequence A[0:j-2]
i = j - 1
while i >= 0 and A[i] > key:
A[i + 1] = A[i]
i = i - 1
A[i + 1] = key
if len(sys.argv) < 2:
print "Enter some numbers to sort"
raise SystemExit(1)
A = sys.argv[1:];
for i in range(0,len(A)):
try:
A[i] = int(A[i])
except ValueError:
print "Items to sort must be integers"
raise SystemExit(1)
insertion_sort(A);
print A;
public class InsertionSort
{
public static void sort(int[] A)
{
for(int j = 0; j < A.length; j++)
{
int key = A[j];
// Insert A[j] into the sorted sequence A[0], A[1], ... A[j-1]
int i = j - 1;
while(i >= 0 && A[i] > key)
{
A[i + 1] = A[i];
i = i - 1;
}
A[i + 1] = key;
}
}
public static void main(String args[])
{
if(args.length < 1)
{
System.out.println("Enter some numbers to sort");
System.exit(1);
}
int[] A = new int[args.length];
try
{
for(int j = 0; j < args.length; j++)
{
A[j] = Integer.parseInt(args[j]);
}
}
catch (NumberFormatException e)
{
System.out.println("Items to sort must be integers");
System.exit(1);
}
sort(A);
String space = "";
for(int key: A)
{
System.out.print(space + key);
space = " ";
}
System.out.print("\n");
}
}