微软100题(1) 二元查找树转变成排序的双向链表
来源:互联网 发布:linux杀java进程 编辑:程序博客网 时间:2024/06/08 06:21
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。
10
/ /
6 14
/ / / /
4 8 12 16
转换成双向链表
4=6=8=10=12=14=16。
#include <iostream> #include <string> using namespace std; struct BSTreeNode{int m_nValue; // value of nodeBSTreeNode *m_pLeft; // left child of nodeBSTreeNode *m_pRight; // right child of node};typedef struct BSTreeNode DoubleList;;DoubleList * pHead;DoubleList * pListIndex;void ConvertToDoubleList(BSTreeNode *pCurrent);void AddBSTree(BSTreeNode *&pCurrent,int value){if(pCurrent == NULL){BSTreeNode * pBSNode = new BSTreeNode();pBSNode->m_pLeft = NULL;pBSNode->m_pRight = NULL;pBSNode->m_nValue = value;pCurrent = pBSNode;}else{if(pCurrent->m_nValue > value)AddBSTree(pCurrent->m_pLeft,value);else if (pCurrent->m_nValue < value) AddBSTree(pCurrent->m_pRight,value);}}void InoderTraverse(BSTreeNode *pCurrent){if (pCurrent == NULL) return ;if(pCurrent->m_pLeft != NULL) InoderTraverse(pCurrent->m_pLeft);//二叉树——链表转换ConvertToDoubleList(pCurrent);if(pCurrent->m_pRight != NULL) InoderTraverse(pCurrent->m_pRight);}void ConvertToDoubleList(BSTreeNode *pCurrent){pCurrent->m_pLeft = pListIndex;if(pListIndex == NULL){pHead = pCurrent;}else{pListIndex->m_pRight = pCurrent;}pListIndex = pCurrent;cout<<pCurrent->m_nValue<<" ";}
0 0
- 微软100题(1) 二元查找树转变成排序的双向链表
- 【微软100题】001把二元查找树转变成排序的双向链表(树)
- 微软面试(1/100)---把二元查找树转变成排序的双向链表
- 微软面试100题 第一题 把二元查找树转变成排序的双向链表
- 微软100题-第一题把二元查找树转变成排序的双向链表
- (微软100题)把二元查找树转变成排序的双向链表
- (微软100题)1.把二元查找树转变成排序的双向链表
- 微软面试100之1 把二元查找树转变成排序的双向链表(树)
- 微软等数据结构+算法面试100题(43)-- 把二元查找树转变成排序的双向链表
- 1. 微软面试题:把二元查找树转变成排序的双向链表(树)
- 把二元查找树转变成排序的双向链表(微软面试)
- 【微软100面试题实现】第01题:把二元查找树转变成排序的双向链表
- 面试100题:1 把二元查找树转变成排序的双向链表
- 微软面试题——把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表(微软面试题)
- 把二元查找树转变成排序的双向链表(JULY微软面试100题系列第一题)的算法思考
- 把二元查找树转变成排序的双向链表
- 把二元查找树转变成排序的双向链表
- java程序打包所jar
- ant 问题解决
- 遍历map
- [转]Hadoop切分纯文本时对某一行跨两个分片这种情况的处理
- 对象序列化类库MsgPack介绍
- 微软100题(1) 二元查找树转变成排序的双向链表
- QtScript中脚本与C++代码的交互
- unity之NGUI之Anchors代码创建
- Linux v2.6内核编程之/sys/中的kobject
- 读取excel内容
- 对fmdb简单的封装
- 有效解决android sdk content loader 0%
- It Xue
- 监听系统时间的变化(一分钟变化一次)