Insertion Sort Animation Updated
Insertion Sort Animation Updated
by Huma Imad
1 20
2 40
3 70
4 10
5 30
2 40
3 70
4 10
5 30
Next card
Sorted
Unsorted
40 Index
2
70
3
Temp
10 40
4
30
5
Next card
Sorted
Unsorted
2 40 Index 40
3 70
10
4
For index = 2 To 5
30
Temp = Num(index)
5 current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
False current = current - 1
End While
Next card
Num(current + 1) = Temp 'insert item
Sorted Next
Unsorted
2 40 Current 70
3 70
Index
10
4
For index = 2 To 5
30
Temp = Num(index)
5 current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
False current = current - 1
End While
Next card
Num(current + 1) = Temp 'insert item
Sorted Next
Unsorted
2 40 10
3 70
Current
4 10 Index
5 For index = 2 To 5
30
Temp = Num(index)
current = index - 1
True While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
Next card
Num(current + 1) = Temp 'insert item
Sorted Next
Unsorted
2 40 10
3 70
Current
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 40 10
Current
3 70
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 40 10
Current
3 70
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
True While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 40 10
Current
3 40
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 40 10
3 40
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 40 10
3 40
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
True While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 20 10
3 40
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Next card
current = current - 1
Sorted End While
2 20 10
3 40
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
Current becomes 0
current = current - 1
End While
2 20 10
3 40
4 70 Index
5 30
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
3 40
4 70 Current
5 30 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
3 40
4 70 Current
5 70 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
3 40
Current
4 70
5 70 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
3 40
Current
4 40
5 70 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
Current
3 40
4 40
5 70 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
Current
3 30
4 40
5 70 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20 30
Current
3 30
4 40
5 70 Index
For index = 2 To 5
Temp = Num(index)
current = index - 1
While (Num(current) > Temp) And (current > 0)
Num(current + 1) = Num(current)
current = current - 1
End While
2 20
3 30
4 All sorted
40
5 70