please forgive me, I have been messing around with this code for about 3 hours - I want to understand this perfectly so I am being very thorough.
In messing around with my code, I changed the line you are talking about, my apologies. It should read
Thus list [i+1] if i = 0 is list with the index value of 4.
I have made some progress, but I am not sure I understand it. When I run the inner loop 3 times, it gives me the correct array index contents (values) for list  for k = 1. when i trace it through a fourth time, it gives me the correct array index values for k = 2. Then, when I run it through for a fifth time, it again gives me the correct values for k = 3. Where I am confused, it says in our text book that "Each time the outer loop is repeated, the inner loops are reentered, and started anew". And Jeff said earlier that each time the outer loop runs, the inner loop will run multiple times. So, I would run the inner loop until i = list.length - k, then go back out and run the outer loop again, and repeat the process until k < list.length is false?
Again, sorry for my input error.
And thanks again for help.