试完成编码表生成算法coding。根结点指针root指向的是具有n片叶子的哈夫曼树(若p指向结点,则p->Lson、p->Rson分别指向该结点的左、右儿子)。其中,pcode函数完成一个字符编码的输出(不必关心该函数的实现方式),变量top和数组hfcdstr是整体量。函数调用的方法是:top=-1; coding(root); void coding(ptr p){ if (p!=NULL) if ( ___________________ ) pcode(p,top) ; else { top=_________; ____ _; coding(p->Lson); hfcdstr[top]='1'; _______ __; ___ ______; } }①p->Lson==NULL&&p->Rson==NULL②p->Lson &&p->Rson ③top-1④top+1⑤top=top+1⑥top=top-1⑦hfcdstr[top]='0'⑧coding(p->Lson)⑨hfcdstr[top]='1' ⑩coding(p->Rson)函数中,下划线位置依次填入 。
A: ①⑤⑦⑧⑥
B: ②④⑨⑧⑥
C: ②④⑦⑧③
D: ①④⑦⑩⑥
A: ①⑤⑦⑧⑥
B: ②④⑨⑧⑥
C: ②④⑦⑧③
D: ①④⑦⑩⑥
举一反三
- 试完成编码表生成算法coding。根结点指针root指向的是具有n片叶子的哈夫曼树(若p指向结点,则p->Lson、p->Rson分别指向该结点的左、右儿子)。其中,pcode函数完成一个字符编码的输出(不必关心该函数的实现方式),变量top和数组hfcdstr是整体量。函数调用的方法是:top=0; coding(root); void coding(ptr p){ if (p!=NULL) if ( ___________________ ) pcode(p,top) ; else { top=_________; ____ _; coding(p->Lson); hfcdstr[top]='1'; _______ __; ___ ______; } }①p->Lson==NULL&&p->Rson==NULL②p->Lson &&p->Rson ③top-1④top+1⑤top=top+1⑥top=top-1⑦hfcdstr[top]='0'⑧coding(p->Lson)⑨hfcdstr[top]='1'⑩coding(p->Rson)函数中,下划线位置依次填入 。 A: ①⑤⑦⑧⑥ B: ②④⑨⑧⑥ C: ②④⑦⑧③ D: ①④⑦⑩⑤
- 链栈S的栈顶指针为top,不能执行p结点入栈操作的是() A: S->top=p; B: p->next=S->top;S->top=p; C: p->next=S->top;S->top=p->next; D: p=S->top;S->top=p;
- 阅读下列程序段structnode{charinfo;structnode*link;}*top,*p;charc;top=NULL;while((c=getchar())!='\n'){p=(structnode*)malloc(sizeof(structnode));p->info=c;p->link=top;top=p;}while(top){p=top;top=top->link;putchar(p->info);free(p);}若从键盘输入abcdef↙,则输出结果为________。
- 【单选题】假定一个链栈L的栈顶指针用top表示,当p指向的结点进栈时,执行的操作为( )。 A. p->next=top;top=top->next; B. top=p;p->next=top; C. p->next=top->next;top->next=p ; D. p->next=top; L->next=p;
- 链栈S的栈顶指针为top,不能执行出栈操作的是() A: p=S->top;S->top=p->next; B: p=S->top;S->top=p; C: p=S;S->top=p->next; D: p=S->top;S->top=p->next->next;