试题详情
- 简答题 下面算法实现,用一棵二叉树中的结点建立一个按关键字值从小到大次序排列的带表头结点的双向循环链表。二叉树的结点结构如下所示:
其中,p是指向结点的指针;p->key表示结点的关键字域,p->left和p->right分别表示结点的左、右孩子的指针域。 void fromtreetolist(p,l) /*p,h是指向二叉树中结点的指针,*/ /*l是指向双向循环链表表头结点的指针*/ {if (p!=NULL) { fromtreetolist(p->left,l); fromtreetolist(p-> right,l); h=l; while (h->right!=l)&&(h->right->keykey)h=h->right; p->right=h->right; p->left=h; (); h->rihght=p; } } void buildlisttree(root,l) /*root是指向二叉树根结点的指针,*/ /*l是指向双向循环链表表头结点的指针*/ {l=(struct nodetype *)malloc(sizeof(struct nodetype)); l->left=l; l->right=l; fromtreetolist(root,l); }
关注下方微信公众号,在线模考后查看

热门试题
- 二维数组A的每个元素是由10个字符组成的
- 将二叉排序树T按前序遍历序列依次插入初始
- 在一棵二叉树中,若编号为5的结点存在右孩
- 若进栈序列为1,2,3,4,则不可能得到
- 顺序表和一维数组一样,都可以按下标随机(
- 数据的逻辑结构在计算机中的表示称为()结
- 对于键值序列(12,13,11,18,6
- 有向图中的结点前驱后继关系的特征是()。
- 算法设计(要求:算法用伪代码和C++描述
- 哈夫曼树
- 不含任何结点的空树()。
- 内部排序
- 有一个20阶的对称矩阵A(第一个元素为a
- 在线性表的散列存储中,处理冲突有()和(
- 图的广度优先遍历算法类似于二叉树的()。
- 哈希查找法中解决冲突问题的常用方法是除留
- 设二维数组A[1.. m,1.. n](
- 在图G的邻接表表示中,每个顶点邻接表中所
- 数据结构里,数据的逻辑结构有哪些()。
- 判定一个队列QU(最多元素为m0)为满队