void sortInList(LinkList * head) {
    int i;int j=0;int c=ListLength_L(*head);
    struct ListNode * p;
    struct ListNode * q;
    p=(*head)->next;
    q=p->next;
    while(p){
        while (q)
        {
            if(p->val>q->val){
            i=p->val;
            p->val=q->val;
            q->val=i;
            }
            q=q->next;
        }
        j++;
       // p=p->next;  //最后一次这里p已经是NULL了,下面q再等于p的next有点说不过去
        // q=p->next;  //最后一次的这个运算有问题,
这里是原来的代码,发现是把最后p指向Null的时候,又执行了一次q=p->next导致的。while后面的代码就不会被执行了
        if (j<=c-1)
        {
            p=p->next;
            q=p->next;
        }
        else{                //这样改过之后发现确实是这个问题
            p=p->next;
        }
        
        // printf("%p\n",head);
    }
    // printf("woshinidie");
    // printf("%p",head);
}