package Ġshell Sort Ċ Ċ fun Ġshell Sort ( arr : ĠInt Array ) Ġ{ ĊĠĠĠ Ġvar Ġgap Ġ= Ġarr . size Ġ/ Ġ 2 ĊĠĠĠ Ġvar Ġindex : ĠInt ĊĠĠĠ Ġvar Ġvalue : ĠInt ĊĠĠĠ Ġwhile Ġ( gap Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġgap Ġuntil Ġarr . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġarr [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġi Ġ- Ġgap Ġdown To Ġ 0 Ġstep Ġgap ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arr [ j ] Ġ> Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ j Ġ+ Ġgap ] Ġ= Ġarr [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġj ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ index ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgap Ġ/= Ġ 2 ĊĠĠĠ Ġ} Ċ }