正在加载图片...
VAR h r: list BEGIN NIL: WHILE ((p<>NIL) AND(gNIL)) DO IF (p. data<=q. data THEn BEGIN(2): r: =p: p: =p. next: END ELSE BEGIN (3) r:=g:g: =q. next: END; IF (p=NIL) THEN r. next: =g =h. next: dispose(h) END;【厦门大学2000三、2(8分)】 22.假设链表p和链表q中的结点值都是整数,且按结点值的递增次序链接起来的带表头结 点的环形链表。各链表的表头结点的值为max,且链表中其他结点的值都小于max,在程序中 取max为9999。在各个链表中,每个结点的值各不相同,但链表p和链表q可能有值相同 的结点(表头结点除外)。下面的程序将链表q合并到链表p中,使得合并后的链表是按结 点值递增次序链接起来的带表头结点的环形链表,且链表中各个结点的值各不相同。请在划 线处填上适当内容,每个框只填一个语句或一个表达式,链表的结点类型如下 TYPE nodeptr= node type; nodetype=RECORD data: integer: link: nodepti CONST max=9999 PROCEDURE merge(var p: nodeptr: q: nodeptr) VAR r, s BEGIN WHILE (A) 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: =g. link: (I) dispose (s)END END END;【复旦大学1997五(18分)】 23. PROC ins linklist(la: linkisttp: i: integer; b: elemtp) 1a为指向带头结点的单链表的头指针,本算法在表中第i个元素之前插入元素b} p:=(1) 指针初始化,j为计数器} WHILE (p>NIL) AND ((3))DO [p: =(4 寻找第i-1个结点} IF (p=NIL) OR((5) THEN error(‘ No this position'’)VAR h,r: list; BEGIN (1)______ h^.next:= NIL; r:=h; WHILE((p<>NIL) AND (q<>NIL)) DO IF (p^.data<=q^.data) THEN BEGIN (2)___; r:=p; p:=p^.next; END ELSE BEGIN (3)____; r:=q; q:=q^.next; END; IF (p=NIL) THEN r^.next:=q; (4)__; p:=h^.next; dispose(h); END;【厦门大学 2000 三、2 (8 分)】 22.假设链表 p 和链表 q 中的结点值都是整数,且按结点值的递增次序链接起来的带表头结 点的环形链表。各链表的表头结点的值为 max,且链表中其他结点的值都小于 max,在程序中 取 max 为 9999。在各个链表中,每个结点的值各不相同,但链表 p 和链表 q 可能有值相同 的结点(表头结点除外)。下面的程序将链表 q 合并到链表 p 中,使得合并后的链表是按结 点值递增次序链接起来的带表头结点的环形链表,且链表中各个结点的值各不相同。请在划 线处填上适当内容,每个框只填一个语句或一个表达式,链表的结点类型如下 TYPE nodeptr=^nodetype; nodetype=RECORD data:integer; link:nodeptr; END; CONST max=9999; PROCEDURE merge(VAR p:nodeptr;q:nodeptr); VAR r,s: 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;【复旦大学 1997 五(18 分)】 23.PROC ins__linklist(la:linkisttp; i:integer; b:elemtp); {la 为指向带头结点的单链表的头指针,本算法在表中第 i 个元素之前插入元素 b} p:=(1) ; j:=(2) ;{指针初始化,j 为计数器} WHILE (p<>NIL) AND ((3) ) DO [p:=(4) ; j:=j+1;] {寻找第 i-1 个结点} IF (p=NIL) OR ((5) ) THEN error (‘No this position’)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有