樹的遍歷分為三種:前序遍歷(根左右),中序遍歷(左根右),後序遍歷(左右根)。
ps:根左右,就是先遍歷根節點,然後是左子樹,最後是右子樹。如下圖:
前序遍歷:abdecf。
中序遍歷:dbeacf。
後序遍歷:debfca。
pps:有一種更便捷的方法來寫出三種遍歷的結果:從根節點開始,從左面畫線,將樹沿著邊界圈起來。按照線在節點的不同位置依次寫出資料。其中:前序遍歷為線在節點左側;中序遍歷為線在節點下方;後序遍歷為線在節點右側。如下圖:
這裡我們用前序遍歷的方法來建立樹。使其輸出三種遍歷的結果:
#include #include struct node;
//前序遍歷
void pre_order(struct node* root)
}
//中序遍歷
void min_order(struct node* root)
}
//後序遍歷
void postorder(struct node* root)
}
//前序遍歷建立樹
struct node* create(struct node* root)
}int main()
輸入與結果為:
二叉樹的建立和遍歷(c語言描述)
二叉樹是比較特殊的樹,二叉樹的儲存方式有順序儲存和鏈式儲存,我們基本上都是用的鏈式儲存,1.宣告結構體 typedef char elemtype typedef struct bitnode bitnode,bitree 2.建立二叉樹 採用遞迴的方式 這裡採用的是按照先序序列建立二叉樹,void...
C語言單向鍊錶建立和遍歷
鍊錶是一種常見的資料結構,鍊錶是由多個結點 自引用結構體 串成的表。什麼是自引用結構體?自引用結構體是一種特殊的結構體型別,它有乙個指標型別的成員,這個指標成員指向與這個結構體一樣的型別。鍊錶就是由乙個乙個結點 自引用結構體 結點被指標串起組成的表。鍊錶的頭指標,頭節點 鍊錶中指向第乙個結點的指標,...
c 語言中的遍歷
隨著c 11標準的出現,c 標準新增了許多有用的特性,c 的寫法也有比較多的變化。vector是經常要使用到的std元件,對於vector的遍歷,本文羅列了若干種寫法。注 本文中 為c 11標準的 需要在較新的編譯器中編譯執行 假設有這樣的乙個vector 注意,這種列表初始化的方法是c 11中新增...