發新話題

[問題] C語言 資料結構 樹狀結構

C語言 資料結構 樹狀結構

各位大大好,以下程式碼是"資料結構"->樹狀結構的插入節點,請問if(T->rthread==POINTER)那一行和while(tmp->lchild==POINTER)有什麼不一樣呢?為什麼不能寫if(T->rchild==POINTER)或while(tmp->lthread==THREAD)請問能不能教教我?
*此樹的前序:"A S B T tmp C"
*此樹的中序:"B S T tmp A C"
複製內容到剪貼板
代碼:
#define THREAD 1
#define POINTER 0

threaded_pointer tmp;

T->rthread=S->rthread;

T->rchild=S->rchild;

T->lthread=THREAD;

T->lchild=S;

S->rthread=POINTER;

S-rchild=T;

if(T->rthread==POINTER){         /*若新節點T不是樹葉*/

tmp=T->rchild;                   /*令節點tmp移往新節點T的右子樹*/

while(tmp->lchild==POINTER)      /*沿著左鏈結移動,直到找到有左引線的節點*/

tmp=tmp->lchild;

tmp->lchild=T;                   /*令該節點的左鏈結指向新節點T*/

}
[ 本帖最後由 bobo0836 於 2011-12-3 09:00 編輯 ]

TOP

當初大一上過
不過全還老師囉
不好意思 幫不了你><

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。