add shellsort
fix a defect in swap function
add KnuthShuffle implementation