1.把二元查找树转变成排序的双向链表
来源:互联网 发布:英文介绍淘宝网 编辑:程序博客网 时间:2024/05/01 12:39
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。
思路:
- 创建一个节点指针last,指向空;
- 中序遍历整个树,当访问到每个节点时,将当前节点放入last指向的链表的末尾,并调整链表及当前节点的左右指针。
代码:
struct TNode
{
int data;
struct TNode *left;
struct TNode *right;
}TNode;
void covert ( TNode *troot , TNode *last )
{
if( troot==NULL )//跳出递归
return;
if( troot->left!=NULL )//遍历左子树
covert( troot->left , last );
//将当前节点插入到链表的最后
troot->left = last;
if(last!=NULL)
last->right = troot;
last = troot;
if( troot->right!=NULL )//遍历右子树
covert( troot->right , last )
}
TNode* app( TNode *head )
{
TNode *last = NULL;
covert( head , last );
return last;
}
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- .把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- iPhone桌面快捷电话的实现原理
- 第二十三章、软件安装: RPM, SRPM 与 YUM 功能
- "CLR Via C#" -- Read Note Part 02
- Debian6下pptd的安装
- TLE
- 1.把二元查找树转变成排序的双向链表
- UC 杂记 05/19/2011 重温旧梦
- java 线程池与工作队列
- xming & putty
- UVa Problem 10258 Contest Scoreboard (比赛计分板)
- Oracle常见问题与解答
- tomcat和myeclipse JDK版本
- 模式对话框和非模式对话框的区别[转]
- 记录集(RecordSet)新增客户端默认值特性