给于给定的初始序列回答下列问题:

给于给定的初始序列{88 42 75 16 90 25 98 50 36 80},回答下列问题:
(1)写出直接插入排序的各趟排序结果,并分析其算法时间复杂度
(2)写出快速排序的各趟排序结构,并分析其算法时间复杂度
(3)如何结合使用直接插入排序和快速排序两种排序算法提升排序性能

插入排序:

package T5;

public class InsertSort {
    int a[];
    public InsertSort() {
        a = new int[]{8,19,2,3,100,99,1000,888,-1,0};
    }
    public InsertSort(int a[]) {
        this.a = a;
    }
    //插入排序
    public void insertSort(){
        int insertNode;
        int j;
        System.out.println("排序中");
        for(int i=1;i<a.length;i++){
            insertNode = a[i];//保存插入节点到变量中
            j=i-1;
            System.out.println("i="+i+";insertNode="+insertNode+";j="+j);
            while(j>=0 && insertNode<a[j]){
                a[j+1]=a[j];
                j--;
//                print();
            }
            a[j+1]=insertNode;
//            print();
        }
        
    }
    public void print(){
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+"\t");
        }
        System.out.println("");
    }
    public static void main(String[] args) {
        InsertSort sort = new InsertSort();
        System.out.println("排序之前:");
        sort.print();
        sort.insertSort();
    }
}