A、n-1
B、N
C、n+l
D、2n
假设在表示一棵二叉树的二叉链表上增加两个域,双亲域用于指示其双亲结点,标志域flag(可取,0…2)的值,用以区分在遍历过程中到达该结点时继续向左或向右或访问该结点。试以此存储结构编写不用栈进行后序遍历的递推形式的算法。
指针p、q和r依次指向某循环链表中三个相邻的结点,交换结点*q和结点*r在表中次序的程序段是 ()
A.p—>next=r; q—>next=r—>next; r—>next=q;
B.p—>next=r; r—>next=q; q—>next=r—>next;
C.r—>next=q; q—>next=r—>next; p—>next=r;
D.r—>next=q; p—>next=r; q—>next=r—>next;
以下为单链表的插入运算,分析算法,请在______处填上正确的语句。
void insert_lklist(lklist head,datatype x,int i)
/*在表head的第i个位置上插入一个以x为值的新结点*/
{ p=find_lklist(head,i-1);
if(p==NULL)error("不存在第i个位置");
else{s=______;s—>data=x;
s—>next=______;
p—>next=s;
}
}