早教吧作业答案频道 -->数学-->
求解数据结构一道算法题目是单链线性表La和Lb的元素按值非递减排列归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列.前面的比较La和Lb的元素值算法都看懂了但是连接La和Lb剩余
题目详情
求解数据结构 一道算法
题目是单链线性表La和Lb的元素按值非递减排列
归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列.
前面的比较La和Lb的元素值算法都看懂了
但是连接La和Lb剩余结点的算法看不太懂了
书上说了两种算法
1,
pc->next=pa?pa:pb;//插入剩余段
free(Lb);
很奇怪pa不是一个指针吗
怎么实现pc的下一个指针是pa 就将La剩余部分接到Lc表中呢
第二种算法:
if(pa) Append(Lc,pa)//链接La中剩余的结点
else Append(Lc,pb)//链接Lb中剩余的结点
这种算法链接倒是看懂了 但是条件if(pa)什么意思 是表示a,b的元素比较完后剩下pa了?
题目是单链线性表La和Lb的元素按值非递减排列
归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列.
前面的比较La和Lb的元素值算法都看懂了
但是连接La和Lb剩余结点的算法看不太懂了
书上说了两种算法
1,
pc->next=pa?pa:pb;//插入剩余段
free(Lb);
很奇怪pa不是一个指针吗
怎么实现pc的下一个指针是pa 就将La剩余部分接到Lc表中呢
第二种算法:
if(pa) Append(Lc,pa)//链接La中剩余的结点
else Append(Lc,pb)//链接Lb中剩余的结点
这种算法链接倒是看懂了 但是条件if(pa)什么意思 是表示a,b的元素比较完后剩下pa了?
▼优质解答
答案和解析
先从第一种算法说起吧,指针不是指向值啊?指针也是地址啊,把地址赋值给它就是把值赋给它,下一个指针是pa,后面的pb的指针就是null了,再自加,就逐渐一个一个的把La的剩余部分连接到Lc表中了.
第二个算法,if(pa)表示pa不为空,即null,pb所有的都加入了Lc,所以就把pa加入Lc
.你主要是那个null没搞懂,如果La全部加入到Lc中,则pa为空.如果Lb全部加入到Lc中,则pb为空,然后就把pa的剩下的全部加入Lc
第二个算法,if(pa)表示pa不为空,即null,pb所有的都加入了Lc,所以就把pa加入Lc
.你主要是那个null没搞懂,如果La全部加入到Lc中,则pa为空.如果Lb全部加入到Lc中,则pb为空,然后就把pa的剩下的全部加入Lc
看了 求解数据结构一道算法题目是单...的网友还看了以下:
为什么是选A?我知道这里要考的是后置定语,而意思是座落于深谷的村庄,但我最后选择了C.语法很差求详 2020-05-12 …
为了对上述资料进行长期趋势分析,可以采用的方法有( )。A.时距扩大法 B.移动平均法C.剩余法 D 2020-05-21 …
为了对上述资料进行长期趋势分析,可以采用的方法有( )。A.时距扩大法B.移动平均法C.剩余法D.数 2020-05-30 …
请问这道题按他的说法错在哪为什么爸爸借了500,向妈妈借了500,买了双皮鞋用了970.剩下30元 2020-06-02 …
一道计算题,按原问题的算法为什么少了十元钱?到底是哪错了呢?向爸爸借了500,向妈妈借了500,买 2020-07-09 …
A想买一包烟,可她没钱,于是和B借了50和C借了50,现在她就有100块了,买了一包97块的烟,剩 2020-07-10 …
修路队修一条路,天修了全长的五分之三,还剩五分之三米,第一天修的和剩下的比()A一样长B第一天长C 2020-07-11 …
有化学反应3A+B+2C=D,将A、B、C各15g混合均匀后加热,生成了30gD.向残留物中加入1 2020-07-18 …
已知有一箱饼干A肚子饿吃了1/8离开了B来了吃了剩下的1/6离开了C来了吃了剩下的1/7离开了D来了 2020-11-16 …
为什么会发生不完全反应?如:2C+O2==2CO(氧气不足)按常理说:有多少O2就反应C生成CO2, 2021-01-12 …