试题详情
- 简答题下面算法实现,用一棵二叉树中的结点建立一个按关键字值从小到大次序排列的带表头结点的双向循环链表。二叉树的结点结构如下所示:
其中,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); }
关注下方微信公众号,在线模考后查看

热门试题
- 折半查找法适用于()。
- 设有5000个待排序的记录关键字,如果需
- 以二分查找方法从长度为12的有序表中查找
- 具有N(N-1)/2条边的有向图成为()
- 数据结构中,顺序表修改第i个元素,很容易
- 从有序表(14,20,33,45,54,
- 散列表的查找效率主要取决于散列表造表时选
- 有向图G用邻接矩阵A[n][n]存储,其
- 将一个数据元素(或记录)的任意序列,重新
- 线性表在物理存储空间中也一定是连续的。
- 对于前序遍历与中序遍历结果相同的二叉树为
- 串的长度是指()。
- 广义表单链表示法,其中字段link存放与
- 设森林F中有三裸树,第一、第二和第只裸树
- 在一个顺序存储的循环队列中,队头指针指向
- 在对n个元素进行快速排序的过程中,平均情
- 采用不同的遍历方法,所得到的无向图的生成
- 算法设计:判断带头结点的双循环链表是否对
- 简述文件的定义。
- 对于长度为9的有序顺序表,若采用折半搜索