void levelprint(bintree bt)
else
printf("%*c", dis, ' '); //列印結點後,再列印其右邊距
next_level_nodes += 2; //左右子樹入隊,下一層結點數增加2
--current_level_nodes; //因為有出隊,所以當前層結點數減1
if (current_level_nodes == 0) //更新層數、當前和下一層結點數,結點左右邊距,並換行 }}
列印結果如下:
以上c程式參看了上面的部分**。
劍指offer 層序列印二叉樹
01 題目 給乙個二叉樹,從上到下按照層序列印二叉樹。如 層序遍歷結果位 1,2,3,4,5,6,7,8 02 解題 展示 用輔助佇列完成。根節點首先到佇列裡面排隊,等待輸出。根節點被輸出,將根節點的子孩子入隊排隊等待輸出。紅色為已經入隊的元素 文字描述過程 1.將跟節點1,放入佇列中。佇列 1。輸...
二叉樹系列之 按之字型順序列印二叉樹
請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。在 把二叉樹列印成多行 的基礎上再新增乙個判斷條件 偶數行從右到左 當然,還有設定乙個變數來記錄當前所處的是第幾行 public class treenod...
按之字形順序列印二叉樹
題目描述 按之字形順序列印二叉樹 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。解析 要分層列印,不能用常規方法,訪問乙個節點後,將該節點的左右子節點壓入佇列。奇數層從左到右列印,偶數層從右向左列印。使...