二叉排序树采用二叉链表存储,结点结构为:lchild|data|rchild,指针lchild和rchild分别指向结点的左右孩子结点。令T指向根结点,则求T的左子树上最大的结点算法的核心语句是( )。
A: if (T) { s=T->lchild;if (s) { while(s->rchild) s=s->rchild; }}return s;
B: if (T) { s=T->rchild;if (s) { while(s->rchild) s=s->rchild; }}return s;
C: if (T) { s=T->rchild;if (s) { while(s->lchild) s=s->lchild; }}return s;
D: if (T) { s=T->lchild;if (s) { while(s->lchild) s=s->lchild; }}return s;
A: if (T) { s=T->lchild;if (s) { while(s->rchild) s=s->rchild; }}return s;
B: if (T) { s=T->rchild;if (s) { while(s->rchild) s=s->rchild; }}return s;
C: if (T) { s=T->rchild;if (s) { while(s->lchild) s=s->lchild; }}return s;
D: if (T) { s=T->lchild;if (s) { while(s->lchild) s=s->lchild; }}return s;
举一反三
- 二叉树以二叉链表存储,若指针p指向二叉树的根结点,经过运算s=p;while(s->rchild)s=s->rchild后,则()。 A: s指向二叉树的最右下方的结点 B: s指向二叉树最左下方的结点 C: s指向根结点 D: s为NULL
- 1.编写递归算法,将二叉树中所有结点的左、右子树相互交换。 StatusExchangeBiTree(BiTree& T) { BiTree p; if(T){ p=T->lchild; T->lchild=T->rchild; T->rchild=p; ExchangeBiTree(T->lchild); } return OK; }
- 以下与库函数strcmp(char *s,char *t)功能相等的程序段是( )。? int strcmp3(char *s,char *t){ for ( ; *t==*s; ) { if (!*t) return 0 ; t++ ; s++ ; } return (*s-*t) ;}|int strcmp2(char *s,char *t){ for ( ; *s++==*t++; ) if (!*s) return 0 ; return (*s-*t) ;}|int strcmp1(char *s,char *t){ for ( ; *s++==*t++; ) if (*s=='\0') return 0 ; return (*s-*t) ;}|int strcmp4(char *s,char *t){ for ( ; *s==*t;s++,t++ ) if (!*s) return 0 ; return (*t-*s) ;}
- 写递归算法,将二叉树中所有结点的左、右子树相互交换。 Status ExchangeBiTree(BiTree& T) { BiTreep; if(T){ p=T->lchild; T->lchild=T->rchild; T->rchild=p; ExchangeBiTree(T->lchild); __________ } returnOK; }
- 1.编写递归算法,将二叉树中所有结点的左、右子树相互交换。StatusExchangeBiTree(BiTree&T){BiTreep;if(T){p=T->lchild;T->lchild=T->rchild;T->rchild=p;ExchangeBiTree(T->lchild);}returnOK;}