已知双链表中结点的类型定义为
TYPE dpointer=^list;
list=RECORD
data:integer; leftright:dpointer;
END;
如下过程将在双链表第i个结点(i>=)之后插入一个元素为x的结点请在答案栏给出题目中______处应填入的语句或表达式使之可以实现上述功能
PROCEDURE insert(VAR head:dpointer;ix:integer);
VAR sp:dpointer; j: integer;
BEGIN
new(s); s^data:=x;
IF(i=)THEN BEGIN s^right:=head; () head:=s END{如果i=则将s结点插入到表头后返回}
ELSE BEGIN p:=head; () {在双链表中查找第i个结点由p所指向}
WHILE ((p<>NIL) AND (j<i)) DO BEGIN j:=j+; () _ END;
IF p<>NIL THEN
IF (p^right=NIL)
THEN BEGIN p^right:=s; s^right:=NIL; () END
ELSE BEGIN s^right:=p^right; () ;p^right:=s; () END
ELSE writeln(can not find node!)
END
END;【厦门大学 二 (分)】
.阅读以下算法填充空格使其成为完整的算法其功能是在一个非递减的顺序存储线性表中删除所有值相等的多余元素
CONST maxlen=
TYPE sqlisttp=RECORD
elem:ARRAY[maxlen] OF integer;
last:maxlen
END;
PROC exam(VAR L:sqlisttp);
j:=; i:=;
WHILE () DO
[ IF Lelem[i]<>Lelem[j] THEN [ () ; () ];
i:=i+ ]
() ;
ENDP;【同济大学 二 (分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []