演算法線索二叉樹的建立和遍歷
點選(此處)摺疊或開啟
-
typedef struct BiThrNode
-
{
-
char data;
-
struct BiThrNode *lchild, *rchild;
-
PointerTag LTag;
-
PointerTag RTag;
-
}BiThrNode, *BiThrTree;
-
-
BiThrTree pre;
-
-
void InThreading(BiThrTree p) //建立
-
{
-
if(p)
-
{
-
InThreading(p->lchild);
-
if(!p->lchild)
-
{
-
p->LTag=Thread;
-
p->lchild=pre;
-
}
-
if(!pre->rchild)
-
{
-
pre->RTag=Thread;
-
pre->rchild=p;
-
}
-
pre=p;
-
InThreading(p->rchild);
-
}
-
}
-
-
bool InOrderTraverse_Thr(BiThrTree T) //遍歷
-
{
-
BiThrTree p;
-
p=T->lchild;
-
while(p!=T)
-
{
-
while(p->LTag==Link)
-
{
-
p=p->lchild;
-
}
-
cout<<p->data;
-
while(p->RTag==Thread&&p->rchild!=T)
-
{
-
p=p->rchild;
-
cout<<p->data;
-
}
-
p=p->rchild;
-
}
-
return true;
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29012686/viewspace-1145881/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 中序線索二叉樹的建立與遍歷二叉樹
- 線索二叉樹的構造和遍歷二叉樹
- 中序線索二叉樹的構造和遍歷二叉樹
- 線索二叉樹【定義、應用、線索化、遍歷】二叉樹
- 二叉樹排序樹的建立,遍歷和刪除二叉樹排序
- 二叉樹建立後,如何使用遞迴和棧遍歷二叉樹?二叉樹遞迴
- 線索二叉樹的原理及建立二叉樹
- 二叉樹的遍歷演算法【和森林的遍歷】【PHP 原始碼測試】二叉樹演算法PHP原始碼
- 根據二叉樹的前序遍歷和中序遍歷輸出二叉樹;二叉樹
- 二叉樹的遍歷二叉樹
- 二叉樹的遍歷及常用演算法二叉樹演算法
- 二叉樹遍歷二叉樹
- 二叉樹---遍歷二叉樹
- 二叉樹的建立與遍歷(遞迴實現)二叉樹遞迴
- 【資料結構】二叉樹的建立與遍歷資料結構二叉樹
- 二叉樹的建立、遍歷、廣義錶轉換二叉樹
- 144.二叉樹的前序遍歷145.二叉樹的後序遍歷 94.二叉樹的中序遍歷二叉樹
- Kotlin 鏈式儲存的二叉樹的建立、遍歷Kotlin二叉樹
- 完全二叉樹的遍歷二叉樹
- 玩轉二叉樹(樹的遍歷)二叉樹
- 二叉樹遍歷方法二叉樹
- 二叉樹遍歷 -- JAVA二叉樹Java
- C++樹——遍歷二叉樹C++二叉樹
- 遍歷二叉樹的迭代和遞迴方法二叉樹遞迴
- 二叉樹的後序遍歷post order演算法二叉樹演算法
- 二叉樹的遍歷筆記二叉樹筆記
- 二叉樹的遍歷實現二叉樹
- 二叉樹的層序遍歷二叉樹
- 二叉樹的按層遍歷二叉樹
- 大前端演算法篇之二叉樹遍歷前端演算法二叉樹
- 二叉樹:構造二叉樹(通過前序和中序遍歷)、映象翻轉、層次遍歷二叉樹
- 【LeetCode-二叉樹】二叉樹前序遍歷LeetCode二叉樹
- 迴圈遍歷二叉樹二叉樹
- 二叉樹四種遍歷二叉樹
- 6.14-二叉樹遍歷二叉樹
- 二叉樹--後序遍歷二叉樹
- 二叉樹的遍歷 → 不用遞迴,還能遍歷嗎二叉樹遞迴
- 程式碼隨想錄演算法訓練營day14 | leetcode 144. 二叉樹的前序遍歷、145. 二叉樹的後序遍歷、94. 二叉樹的中序遍歷演算法LeetCode二叉樹
- 二叉樹的遍歷 (迭代法)二叉樹