add shell and selct sort