2 sungaochao sungaochao 于 2016.03.13 11:00 提问

哪里有问题?求解答,数据结构算法的问题

/*
设计一个算法,将两个非递减的链表合并成一个非递增的有序链表
要求使用原来的存储空间,不开辟新的空间,表中允许有重复的数据。
/
/

我的思路是:
使用L1的头结点作为新表L3的头结点,然后让L1头结点的指针域置空,
从L1和L2中选择较大的结点,使用头插法插入到L3的后面,
为什么运行不了?求大神解答!
*/
void Combine(LinkList &L1,LinkList &L2,LinkList &L3){
struct LNode *pa,*pb,*pc;
pa=L1->next;
pb=L2->next;
L1->next=NULL;//将L1的头指针置空
L3=L1;
while(pa&&pb){
if(pa->data>=pb->data){
struct LNode *q;
q=pa;
if(L3->next==NULL){
L3->next=q;
q->next=NULL;
}
q->next=L3->next;
L3->next=q;
pa=pa->next;
}else{
struct LNode *q;
q=pb;
if(L3->next==NULL){
L3->next=q;
q->next=NULL;
}
q->next=L3->next;
L3->next=q;
pb=pb->next;
}
}
while(pa){//B表归并完毕
struct LNode *q;
q=pa;
q->next=L3->next;
L3->next=q;
}
while(pb){//A表归并完毕
struct LNode *q;
q=pb;
q->next=L3->next;
L3->next=q;
}
//pc->next=pa?pa:pb;
//delete L2;
}

1个回答

caozhy
caozhy   Ds   Rxr 2016.03.14 12:55
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
内存溢出小程序
一个小程序,有内存泄漏的问题,求高手解答。
用几何(解析几何)方法求解概率问题
1. 相遇问题张三和李四相约晚上 7 点到 8 点之间在码头会面,商定先到者等候 15 分钟,15 分钟后如果仍然不见对方就不再等下去。假如张三和李四的抵达时间在 7 点到 8 点之间,问他们二人会面的可能性有多大?|x−y|<15={x−y<15y−x<15 \left|x-y\right|<15=\left\{ \begin{array}{l} x-y<15\\ y-x<15 \end{arra
坦克大战源代码
坦克大战源代码,还只有基本引擎,图片显示有问题,求高手解答
个人信息提交原码
请问哪里有问题? 谢谢
最短路径问题 运筹学
floyd是一种很简单的求最短路径的算法 避免了许多复杂算法需要的编程基础 解决网络中任意两点的距离
常规算法解决矩阵内最短路径问题
问题描述:给定一个整数二维数组,要求算出从左上角到右下角的“最短路径”。即每次移动只能取相邻元素,而要保证总路线经过的元素之和最小。 这道题本来可以用动态规划来做,但是本人采用了比较容易理解的常规算法:先创造一个用于计数的二维向量,使其大小与目标矩阵一致,然后,由于求最短路径的情况下,左侧和上面的一行一列必定是取它左边/上面的元素与自身之和,因此先算出这两条边。而对于矩阵内部的元素,其取
判断电脑不能上网问题出在哪里
判断电脑不能上网问题出在哪里 判断电脑不能上网问题出在哪里 判断电脑不能上网问题出在哪里判断电脑不能上网问题出在哪里
C++编程,数据结构,算法类面试题集
1. 在linked list中找倒数第N个结点 2. 倒转linked list 3. 二叉树的结点有指向parent的指针,求最近公共祖先 4. 给一个数组,如何打印该数组成员构成集合的全部子集合. 5. 有两个字符串,一个是text,一个是command, Command有四种:    ‘+’: 在text中前进一位    ‘-’: 在text中后退一位    ‘a’: 在当前
ccnp 问题解答
详细解答。有问题可以直接回复。我乐意解答所有问题。
小猪的数据结构辅助教程——2.5 经典例子:约瑟夫问题的解决
小猪的数据结构辅助教程——2.5 经典例子:约瑟夫问题的解决标签(空格分隔): 数据结构约瑟夫问题的解析 关于问题的故事背景就不提了,我们直接说这个问题的内容吧: 一堆人,围成一个圈,然后规定一个数N,然后依次报数,当报数到N,这个人自杀,其他人鼓掌!啪啪啪, 接着又从1开始报数,报到N又自杀…以此类推,直到死剩最后一个人,那么游戏结束! 这就是问题,而我们用计算机模拟