.n个结点的完全二叉树存储在数组a中下面为非递归的先序遍历算法
PROC preorder(a);
BEGIN top:=; t:=;
WHILE (t<=n) OR ()______DO
BEGIN WHILE t<=n DO BEGIN write(a[t]); top:=top+; s[top]:=t; t:= ()______;END;
IF top> THEN BEGIN t:=s[top]*+; top:= ()______; END;
END;
END;【中山大学 四 (分)】
.后序遍历二叉树的非递归算法bt是二叉树的根S是一个栈maxsize是栈的最大容量
TYPE bitreptr=^bnodetp;
bnodetp=RECORD data:datatype; lchildrchild:bitreptr END;
TYPE stacktyp=RECORD data:ARRAY[maxsize] OF bitreptrtopmaxsizeEND
PROCEDURE posterorder(btbitreptr)
BEGIN Stop:=p:=bt
REPEAT
WHILE p<>NIL DO BEGIN Stop:=Stop+; IF Stop>maxsize THEN stackfull
ELSE BEGIN Sdata[Stop]:=p ()_____; END
END;
IF Sdata[Stop]^rchild<>NIL THEN ()_____
ELSE BEGIN REPEAT write (Sdata[Stop]^data); Stop=Stop;
UNTIL Stop= OR Sdata[Stop]^rchild<>Sdata[Stop+];
IF Sdata[Stop]^rchild<>Sdata[Stop+] THEN ()_____;
END
UNTIL()_____;
END 【西北工业大学 六 (分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []