单选题:已知二叉树的存储结构为二叉链表,阅读下面算法。
已知二叉树的存储结构为二叉链表,阅读下面算法。
typedef struct node {
DateType data;
Struct node * next;
}ListNode;
typedef ListNode * LinkList ;
LinkList Leafhead=NULL;
void Inorder (BinTree T)
{
LinkList s;
If(T){
Inorder(T->lchild);
If ((!T->lchild)&&(!T->rchild)){
s=(ListNode*)malloc(sizeof(ListNode));
s->data=T->data;
s->next=Leafhead;
Leafhead=s;
}
Inorder(T->rchild);
}
}
对于如下所示的二叉树

执行上述算法后所建立的链表是哪个?
@[A](5)
A. Leafhead-->F-->H-->G-->D
B. Leafhead-->D-->G-->H-->F
C. Leafhead-->D-->F-->H-->H
D. Leafhead-->F-->D-->G-->H
A.Leafhead-->F-->H-->G-->D
B.Leafhead-->D-->G-->H-->F
C.Leafhead-->D-->F-->H-->H
D.Leafhead-->F-->D-->G-->H
答案:A
typedef struct node {
DateType data;
Struct node * next;
}ListNode;
typedef ListNode * LinkList ;
LinkList Leafhead=NULL;
void Inorder (BinTree T)
{
LinkList s;
If(T){
Inorder(T->lchild);
If ((!T->lchild)&&(!T->rchild)){
s=(ListNode*)malloc(sizeof(ListNode));
s->data=T->data;
s->next=Leafhead;
Leafhead=s;
}
Inorder(T->rchild);
}
}
对于如下所示的二叉树

执行上述算法后所建立的链表是哪个?
@[A](5)
A. Leafhead-->F-->H-->G-->D
B. Leafhead-->D-->G-->H-->F
C. Leafhead-->D-->F-->H-->H
D. Leafhead-->F-->D-->G-->H
A.Leafhead-->F-->H-->G-->D
B.Leafhead-->D-->G-->H-->F
C.Leafhead-->D-->F-->H-->H
D.Leafhead-->F-->D-->G-->H
答案:A