| 1 | Initialize | 5/2=2 | - | - | [23, 12, 1, 8, 34, 54, 2, 3, 7, 4] | Set gap=2 |
| 2 | Outer loop start | 2 | 2 | - | [23, 12, 1, 8, 34, 54, 2, 3, 7, 4] | Start i=2 |
| 3 | Compare arr[j-gap] and temp | 2 | 2 | 2 | [23, 12, 1, 8, 34, 54, 2, 3, 7, 4] | temp=1, arr[0]=23 > 1, shift arr[0] to arr[2] |
| 4 | Shift | 2 | 2 | 0 | [23, 12, 23, 8, 34, 54, 2, 3, 7, 4] | j=0 |
| 5 | Insert temp | 2 | 2 | 0 | [1, 12, 23, 8, 34, 54, 2, 3, 7, 4] | Insert 1 at arr[0] |
| 6 | Next i | 2 | 3 | 3 | [1, 12, 23, 8, 34, 54, 2, 3, 7, 4] | temp=8, arr[1]=12 > 8? No, insert 8 at arr[3] |
| 7 | Next i | 2 | 4 | 4 | [1, 12, 23, 8, 34, 54, 2, 3, 7, 4] | temp=34, arr[2]=23 > 34? No, insert 34 at arr[4] |
| 8 | Next i | 2 | 5 | 5 | [1, 12, 23, 8, 34, 54, 2, 3, 7, 4] | temp=54, arr[3]=8 > 54? No, insert 54 at arr[5] |
| 9 | Next i | 2 | 6 | 6 | [1, 12, 23, 8, 34, 54, 2, 3, 7, 4] | temp=2, arr[4]=34 > 2, shift arr[4] to arr[6] |
| 10 | Shift | 2 | 6 | 4 | [1, 12, 23, 8, 34, 54, 34, 3, 7, 4] | j=4 |
| 11 | Compare | 2 | 6 | 2 | [1, 12, 23, 8, 34, 54, 34, 3, 7, 4] | arr[2]=23 > 2, shift arr[2] to arr[4] |
| 12 | Shift | 2 | 6 | 2 | [1, 12, 23, 8, 23, 54, 34, 3, 7, 4] | j=2 |
| 13 | Compare | 2 | 6 | 0 | [1, 12, 23, 8, 23, 54, 34, 3, 7, 4] | arr[0]=1 > 2? No, insert 2 at arr[2] |
| 14 | Insert | 2 | 6 | 2 | [1, 12, 2, 8, 23, 54, 34, 3, 7, 4] | Insert 2 at arr[2] |
| 15 | Next i | 2 | 7 | 7 | [1, 12, 2, 8, 23, 54, 34, 3, 7, 4] | temp=3, arr[5]=54 > 3, shift arr[5] to arr[7] |
| 16 | Shift | 2 | 7 | 5 | [1, 12, 2, 8, 23, 54, 34, 54, 7, 4] | j=5 |
| 17 | Compare | 2 | 7 | 3 | [1, 12, 2, 8, 23, 54, 34, 54, 7, 4] | arr[3]=8 > 3, shift arr[3] to arr[5] |
| 18 | Shift | 2 | 7 | 3 | [1, 12, 2, 8, 23, 8, 34, 54, 7, 4] | j=3 |
| 19 | Compare | 2 | 7 | 1 | [1, 12, 2, 8, 23, 8, 34, 54, 7, 4] | arr[1]=12 > 3, shift arr[1] to arr[3] |
| 20 | Shift | 2 | 7 | 1 | [1, 12, 12, 12, 23, 8, 34, 54, 7, 4] | j=1 |
| 21 | Compare | 2 | 7 | -1 | [1, 12, 12, 12, 23, 8, 34, 54, 7, 4] | j < gap, insert 3 at arr[1] |
| 22 | Insert | 2 | 7 | 1 | [1, 3, 12, 8, 23, 8, 34, 54, 7, 4] | Insert 3 at arr[1] |
| 23 | Next i | 2 | 8 | 8 | [1, 3, 12, 8, 23, 8, 34, 54, 7, 4] | temp=7, arr[6]=34 > 7, shift arr[6] to arr[8] |
| 24 | Shift | 2 | 8 | 6 | [1, 3, 12, 8, 23, 8, 34, 54, 34, 4] | j=6 |
| 25 | Compare | 2 | 8 | 4 | [1, 3, 12, 8, 23, 8, 34, 54, 34, 4] | arr[4]=23 > 7, shift arr[4] to arr[6] |
| 26 | Shift | 2 | 8 | 4 | [1, 3, 12, 8, 23, 8, 23, 54, 34, 4] | j=4 |
| 27 | Compare | 2 | 8 | 2 | [1, 3, 12, 8, 23, 8, 23, 54, 34, 4] | arr[2]=12 > 7, shift arr[2] to arr[4] |
| 28 | Shift | 2 | 8 | 2 | [1, 3, 12, 8, 12, 8, 23, 54, 34, 4] | j=2 |
| 29 | Compare | 2 | 8 | 0 | [1, 3, 12, 8, 12, 8, 23, 54, 34, 4] | arr[0]=1 > 7? No, insert 7 at arr[2] |
| 30 | Insert | 2 | 8 | 2 | [1, 3, 7, 8, 12, 8, 23, 54, 34, 4] | Insert 7 at arr[2] |
| 31 | Next i | 2 | 9 | 9 | [1, 3, 7, 8, 12, 8, 23, 54, 34, 4] | temp=4, arr[7]=54 > 4, shift arr[7] to arr[9] |
| 32 | Shift | 2 | 9 | 7 | [1, 3, 7, 8, 12, 8, 23, 54, 34, 54] | j=7 |
| 33 | Compare | 2 | 9 | 5 | [1, 3, 7, 8, 12, 8, 23, 54, 34, 54] | arr[5]=8 > 4, shift arr[5] to arr[7] |
| 34 | Shift | 2 | 9 | 5 | [1, 3, 7, 8, 12, 8, 23, 8, 34, 54] | j=5 |
| 35 | Compare | 2 | 9 | 3 | [1, 3, 7, 8, 12, 8, 23, 8, 34, 54] | arr[3]=8 > 4, shift arr[3] to arr[5] |
| 36 | Shift | 2 | 9 | 3 | [1, 3, 7, 8, 12, 8, 23, 8, 34, 54] | j=3 |
| 37 | Compare | 2 | 9 | 1 | [1, 3, 7, 8, 12, 8, 23, 8, 34, 54] | arr[1]=3 > 4? No, insert 4 at arr[3] |
| 38 | Insert | 2 | 9 | 3 | [1, 3, 7, 4, 12, 8, 23, 8, 34, 54] | Insert 4 at arr[3] |
| 39 | Reduce gap | 2/2=1 | - | - | [1, 3, 7, 4, 12, 8, 23, 8, 34, 54] | Set gap=1 |
| 40 | Outer loop start | 1 | 1 | - | [1, 3, 7, 4, 12, 8, 23, 8, 34, 54] | Start i=1 |
| 41 | Compare arr[j-gap] and temp | 1 | 1 | 1 | [1, 3, 7, 4, 12, 8, 23, 8, 34, 54] | temp=3, arr[0]=1 > 3? No, insert 3 at arr[1] |
| 42 | Next i | 1 | 2 | 2 | [1, 3, 7, 4, 12, 8, 23, 8, 34, 54] | temp=7, arr[1]=3 > 7? No, insert 7 at arr[2] |
| 43 | Next i | 1 | 3 | 3 | [1, 3, 7, 4, 12, 8, 23, 8, 34, 54] | temp=4, arr[2]=7 > 4, shift arr[2] to arr[3] |
| 44 | Shift | 1 | 3 | 2 | [1, 3, 7, 7, 12, 8, 23, 8, 34, 54] | j=2 |
| 45 | Compare | 1 | 3 | 1 | [1, 3, 7, 7, 12, 8, 23, 8, 34, 54] | arr[1]=3 > 4? No, insert 4 at arr[2] |
| 46 | Insert | 1 | 3 | 2 | [1, 3, 4, 7, 12, 8, 23, 8, 34, 54] | Insert 4 at arr[2] |
| 47 | Next i | 1 | 4 | 4 | [1, 3, 4, 7, 12, 8, 23, 8, 34, 54] | temp=12, arr[3]=7 > 12? No, insert 12 at arr[4] |
| 48 | Next i | 1 | 5 | 5 | [1, 3, 4, 7, 12, 8, 23, 8, 34, 54] | temp=8, arr[4]=12 > 8, shift arr[4] to arr[5] |
| 49 | Shift | 1 | 5 | 4 | [1, 3, 4, 7, 12, 12, 23, 8, 34, 54] | j=4 |
| 50 | Compare | 1 | 5 | 3 | [1, 3, 4, 7, 12, 12, 23, 8, 34, 54] | arr[3]=7 > 8? No, insert 8 at arr[4] |
| 51 | Insert | 1 | 5 | 4 | [1, 3, 4, 7, 8, 12, 23, 8, 34, 54] | Insert 8 at arr[4] |
| 52 | Next i | 1 | 6 | 6 | [1, 3, 4, 7, 8, 12, 23, 8, 34, 54] | temp=23, arr[5]=12 > 23? No, insert 23 at arr[6] |
| 53 | Next i | 1 | 7 | 7 | [1, 3, 4, 7, 8, 12, 23, 8, 34, 54] | temp=8, arr[6]=23 > 8, shift arr[6] to arr[7] |
| 54 | Shift | 1 | 7 | 6 | [1, 3, 4, 7, 8, 12, 23, 23, 34, 54] | j=6 |
| 55 | Compare | 1 | 7 | 5 | [1, 3, 4, 7, 8, 12, 23, 23, 34, 54] | arr[5]=12 > 8, shift arr[5] to arr[6] |
| 56 | Shift | 1 | 7 | 5 | [1, 3, 4, 7, 8, 12, 12, 23, 34, 54] | j=5 |
| 57 | Compare | 1 | 7 | 4 | [1, 3, 4, 7, 8, 12, 12, 23, 34, 54] | arr[4]=8 > 8? No, insert 8 at arr[5] |
| 58 | Insert | 1 | 7 | 5 | [1, 3, 4, 7, 8, 8, 12, 23, 34, 54] | Insert 8 at arr[5] |
| 59 | Next i | 1 | 8 | 8 | [1, 3, 4, 7, 8, 8, 12, 23, 34, 54] | temp=34, arr[7]=23 > 34? No, insert 34 at arr[8] |
| 60 | Next i | 1 | 9 | 9 | [1, 3, 4, 7, 8, 8, 12, 23, 34, 54] | temp=54, arr[8]=34 > 54? No, insert 54 at arr[9] |
| 61 | Reduce gap | 1/2=0 | - | - | [1, 3, 4, 7, 8, 8, 12, 23, 34, 54] | gap=0, sorting done |