建立中序線索二叉樹並遍歷

2021-06-14 05:39:51 字數 618 閱讀 3511

#include #include #define overflow -2

typedef struct tbtnode

tbtnode;

void

create_tbt(tbtnode* & t)

}tbtnode* pre; // 全域性變數,始終指向剛剛訪問過的結點

void

thread(tbtnode*& p) // 中序遍歷進行中序線索化

else

p->ltag = 0;

if (pre->rchild == null) // 後繼線索

else

pre->rtag = 0;

pre = p; // 保持pre指向p的前驅

thread(p->rchild); // 右子樹線索化

}}tbtnode*

create_thread(tbtnode* & b)

return root;

}void

thinorder(tbtnode* tb)

p = p->rchild;

}}int

main()

二叉樹遍歷 利用先序建立中序輸出

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入包括1行字串,長度不超過100。可能有多組測試資料,對於每組資料,...

建立二叉樹並中序遍歷

題目描述 編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入輸入有多組測試資料。每組資料為一行字串,長度不超過100...

二叉樹的線索化 線索二叉樹的遍歷(中序)

二叉樹的線索化 對於n個節點的二叉樹,在二叉儲存鍊錶中有n 1個空鏈域,利用這些空鏈域存放某種遍歷次序下的指向該節點的前驅和後繼的指標,這些指標成為線索,被線索的二叉樹成為線索二叉樹。這種加上了線索的二叉鍊錶稱為線索鍊錶,相應的二叉樹稱為線索二叉樹 threaded binarytree 根據線索性...