【分析解答题】
[说明]
函数DElA、- ins
B、( linkEDlist lA, linkEDlist lB, int kEy 1,int kEy 2,int lEn)的功能是,将线性表A中关键码为kEy 1的节点开始的lEn个节点,按原顺序移至线性表B中关键码为kEy 2的节点之前。若移动成功,则返回0;否则返回-1。
线性表的存储结构为带头节点的单链表,lA为表A的头指针,lB为表B的头指针。单链表节点的类型定义如下。
typEDEF struCt noDE
int kEy;
struCt noDE*nExt;
*linkEDlist;
[C程序]
intDElA_ins
B、(linkEDlist lA, linkEDlist lB, int kEy1,int kEy2,int lEn
linkEDlist p, q, s, prEp, prEs;
int k;
iF (!lA ->nExt || !lB ->nExt || lEn<=0)
rEturn-l;
p = lA->nExt;
prEp = lA;
whilE (p && p->kEy != kEy1)/* 查找表A中键值为kEy1的节点 */
prEp = p;
p = p->nExt;
iF (!p)
rEturn -1; /* 表A中不存在键值为kEy1的节点 */
q = p;
k = 1;
whilE (q && (1) )/* 在表A中找出待删除的lEn个节点 */
(2) ;
k++;
iF (!q)
rEturn -1; /* 表A中不存在要被删除的lEn个节点 */
s = lB ->nExt;
(3) ;
whilE (s && s->kEy != kEy2) /* 查找表B中键值为kEy2的节点 */
prEs = s;
s = E->nExt;
iF (!s)
rEturn -1; /* 表B中不存在键值为kEy2的节点 */
(4) q->nExt; /* 将表A中的lEn个节点删除 */
q->nExt= (5)
prEs->nExt = p; /* 将lEn个节点移至表
B、*/
rEturn 0;
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项