实验二设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。要求:1.可以对任何简单类型和任意对象进行排序2.可以支持升序、降序、字典排序等多种顺序要求3.可以随意增加排序算法和顺序要求,保证其他程序不修改4.减少程序代码中逻辑上的冗余5.至少用两种方案编程实现该程序包,并说明两个方案的优缺点6.提交设计报告,包括:使用UML设计的类图;主要程序代码说明;方案优缺点比较。