阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为typedef struct node {int key;struct node * next;} *LinkedList;【函数】int DelA_InsB ( LinkedList La, LinkdeList Lb,int key1,int key2,,int len){ LinkedList p,q,s,prep,pres;int k;if( ! La->next || ! Lb-> next ||| en <=0)return-1;p = La -> next;prep = La;while(pp- >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 =s->next;}if( ! s) return - t; /*表B中不存在键值为key2的结点*/(4)=q-> next; /*将表A中的len个结点删除*/q->next=(5);pres -> next = p; /*将len个结点移至表B */return 0;}
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
【说明】
函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为
typedef struct node {
int key;
struct node * next;
} *LinkedList;
【函数】
int DelA_InsB ( LinkedList La, LinkdeList Lb,int key1,int key2,,int len)
{ LinkedList p,q,s,prep,pres;
int k;
if( ! La->next || ! Lb-> next ||| en <=0)return-1;
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 =s->next;
}
if( ! s) return - t; /*表B中不存在键值为key2的结点*/
(4)=q-> next; /*将表A中的len个结点删除*/
q->next=(5);
pres -> next = p; /*将len个结点移至表B */
return 0;
}