建立一棵含有n個結點的二叉樹,採用二叉鏈表存儲;
輸出前序、中序、後序、、層序遍歷該二叉樹的遍歷結果。
定義二叉樹的數據類型——二叉樹結點結構體BiNode。建立二叉鏈表可以採用擴展二叉樹的一個遍歷序列,例如前序序列,將擴展二叉樹的前序序列由鍵盤輸入,建立該二叉樹的二叉鏈表存儲。
簡單起見,本實驗假定二叉樹的數據元素為char型
用模板類改寫
創建一個拓展二叉樹,我們用#來代指虛結點:
前序遍歷的實現:
中序遍歷的實現:
後序遍歷的實現:
層序遍歷的實現:
程序主函數部分代碼:
結果:
該二叉樹的根節點是:a
該二叉樹的前序遍歷是:a b d e c f
該二叉樹的中序遍歷是:d b e a c f
該二叉樹的後序遍歷是:d b e c f a
該二叉樹的層序遍歷是:a b c d e f
本文就到這裡,希望此案例的展示對你有幫助!
想要在程序員生涯內有更高的成就的話,C/C++就是一個既可以強化思維能力,又可以打好編程基礎的編程語言,你想要做軟件開發,成為核心程序員的話,學習C/C++的話筆者有一個C/C++的編程千人群(Q艘索:C語言編程學習聚集地(無言建立))你如果感覺自學C/C++語言有困難的話,有興趣學習或者瞭解一下C/C++編程的小夥伴就可以進來交流。
閱讀更多 編程小火車 的文章