hi again i have been learning about algorithm solving and designing from the website here

i sort of understood the first code but before i went on any further i wanted to understand it the code is

```
def InsertionSort(A):
for j in range(1, len(A)):
key = A[j]
i = j - 1
while (i >=0) and (A[i] > key):
A[i+1] = A[i]
i = i - 1
A[i+1] = key
x = [65,88,2,9876,33,8]
InsertionSort(x)
print x
```

any help understanding it would be welcomed thanks