.假设链表p和链表q中的结点值都是整数且按结点值的递增次序链接起来的带表头结点的环形链表各链表的表头结点的值为max且链表中其他结点的值都小于max在程序中取max为在各个链表中每个结点的值各不相同但链表p和链表q可能有值相同的结点(表头结点除外)下面的程序将链表q合并到链表p中使得合并后的链表是按结点值递增次序链接起来的带表头结点的环形链表且链表中各个结点的值各不相同请在划线处填上适当内容每个框只填一个语句或一个表达式链表的结点类型如下
TYPE nodeptr=^nodetype
nodetype=RECORD
datainteger linknodeptr;
END
CONST max=;
PROCEDURE merge(VAR p:nodeptr;q:nodeptr);
VAR rs: nodeptr;
BEGIN
r:=p;
WHILE (A) DO
BEGIN
WHILE r^link^data<q^link^data DO (B) ;
IF r^link^data>q^link^data
THEN BEGIN s:= (C) ; (D) :=s^link; s^link:= (E) ; (F) :=s; (G) ; END
ELSE BEGIN (H) ; s:=q^link; (I) ; dispose(s) END
END;
dispose(q)
END;【复旦大学 五(分)】
.PROC ins__linklist(la:linkisttp; i:integer; b:elemtp);
{la为指向带头结点的单链表的头指针本算法在表中第i个元素之前插入元素b}
p:= () ; j:= () ;{指针初始化j为计数器}
WHILE (p<>NIL) AND ( () ) DO [p:= () ; j:=j+]
{寻找第 i 个结点}
IF (p=NIL) OR ( () )
THEN error (No this position)
ELSE [new(s) ; s↑data:=b; s↑next:=p↑next; p↑next:=s;]
ENDP;{inslinklist}【燕山大学 四(分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []