notes shell sort improves the efficiency and decreases the run time complexity to ( donald shell discovered the shell sort and thence it is known as shell sort algorithm the algorithms for shell sort can be defined in two stepsstep divide the original list into smaller lists step sort individual sub lists using any known sorting algorithm (like bubble sortinsertion sortselection sortetcvoid shellsort (int[aint nint ijkhvint[cols { for ( = < ++ =cols[ ]for ( =hi<ni++ = [ ] =iwhile ( >= & [ - ]>va[ ]= [ - ] = -ha[ ]=vmany questions arise how should divide the list which sorting algorithm to use how many times will have to execute steps and and the most puzzling question if am anyway using bubbleinsertion or selection sort then how can achieve improvement in efficiencyi shall discuss each of these questions one by one for dividing the original list into smaller listswe choose value kwhich is known as increment based on the value of kwe split the list into sub lists for exampleif our original list is [ ] [ ] [ ] [ ] [ [ and we choose as the value for incrementk then we get the following sub lists first_list [ ] [ ] [ ] [ [ lovely professional university