Package ch10; public class shellinsertsort {/*** Hill sort * @ Param <t> * @ Param T: array to be sorted * @ Param dlta: incremental array * @ return */public static <t extends comparable> Boolean shellsort (T [] T, int [] dlta) {If (t = NULL | T. length <= 1) return true; For (INT I = 0; I <dlta. length; I ++) {If (! Shellinsert (T, dlta [I]) {return false ;}} return true ;}/ *** one-stop-hill sorting * @ Param <t> * @ Param t: array to be sorted * @ Param DK: Incremental * @ return */Private Static <t extends comparable> Boolean shellinsert (T [] T, int DK) {If (t = NULL | T. length <= dk) return true; For (INT I = dk; I <= T. length-1; I ++) {If (T [I]. compareto (T [I-dk]) <0) {T temp = T [I]; Int J; For (j = I-DK; j> = 0 & temp. compareto (T [J]) <0; j-= dk) {T [J + dk] = T [J];} t [J + dk] = temp ;}} return true;} public static void main (string [] ARGs) {INTEGER [] arr = new integer [] {, 1 }; int [] dlta = new int [] {5, 3, 1}; shellinsertsort. shellsort (ARR, dlta); For (int I: ARR) {system. out. println (I );}}}