实现两个链表的合并【基本功能要求】(1)建立两个链表A和B,链表元素的个数分别为m和n(2)假设元素分布为(x1,x2…xm)、(y1,y2…yn)。把它们合并成一个线性表C,使得当m>=n时,C=(x1y1,x2,y2….xn,yn.….xm)当n>m时,C=(y1x1,y2,x2….ym,xm.…yn)输出线性表c(3)用直接排序法对C进行升序排序,生成链表D,并输出链表
为什么运行不出来 请问哪里出错误了
void SorCToD(){struct Node *pre,*postC,*postD,*lopD;int len; //表示总长度len=m+n;pre=D; //指向D有序数列的尾指针postC=C->next //指向c列表 列表D的第一个节点加入postD=new Node; //分配一个新的节点postD->data=postC->data; //将D的值赋给CpostD->next=0; //D的下一个结点为0pre->next=postD; //pre的下一个节点指向Dpre=postD; //pre指向DpostC=postC->next;//指向下一个节点while(postC){pre =D;//pre指向插入的前一个节点,lopD是指像插入的后一个节点lopD=D->next;//pre指向D的下一个节点while(lopD)//当D不为空{if(lopD->data>postC>data)//判断条件break;else{pre=lopD;//pre指向D lopD=lopD->next;//pre指向D的下一个节点}}postD=new Node; //分配一个新的节点postD-data=postC-data;//将D的值赋给CpostD-next=0;//D的下一个节点为0pre->next=postD;//pre的下一个指向DpostD->next=lopD;//循环条件postC=postC->next;//指向下一个节点}}int main(){InitListAB();//初始化AB链表MergrABToC();//合并AB链表SortCToD;//对C进行直接插入排序得到DprintList(A);//输出A链表printList(B);输出B链表printList(C);输出C链表printList(D);输出D链表return 0;}
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。