procedure gnomeSort(a[])
pos := 1
current_index := 1
back_noswap := True
while pos < length(a)
if (a[pos] >= a[pos-1])
pos := pos + 1
if(pos > current_index)
current_index := pos
back_noswap := True
else
swap a[pos] and a[pos-1]
back_noswap := False
if (pos > 1)
pos := pos - 1
else
pos := pos + 1
end if
end if
if (back_noswap)
pos := current_index
end while
end procedure
1173

被折叠的 条评论
为什么被折叠?



