Various sorting algorithms implemented using Java Generics for school assignments