返回頂部
關閉軟件導航
位置:首頁 > 資訊 > 其他>先將top下移一個單位,然后返回所指向的log對象,也就是top

  接下來該深入講解套路了,首先,根節點設置成了dummy,這是一個虛擬節點,是為了保證最上層只有一個節點而使用的編碼技巧,好比tree命令輸出目錄樹總是從當前目錄“.”開始。由于第一次進入循環,log堆棧為空,不存在所謂回溯點,我們將回溯位置索引設為0,這有兩重含義,一來表示該回溯點無效或不存在,二來既然沒有回溯,那么接下來就從當前節點的第一個分支開始遍歷無限層次樹形筆記本。

  然后我們將遍歷過的節點壓棧,這里也是有區分的:如果當前是葉子節點,或者所有分支都遍歷完了,那么應該繼續上溯去尋找回溯點,我們就將回溯點設為無效后壓棧;否則就將當前節點設為回溯點,并記錄位置索引后壓棧。

無限層次樹形筆記本   畫線輸出部分稍后講。我們根據前面獲取的索引sub_idx進入下一層,直到觸底回溯,這時從log堆棧彈出回溯點,pop有三種情況:由于第一個壓棧為根節點,堆棧為空表示回溯到原點,也就標志著整個遍歷結束,退出循環;否則查看回溯點是否為NULL,如果空如前所述繼續上溯;如果存在有效回溯點,則將回溯位置索引取出,繼續下一輪遍歷循環。

無限層次樹形筆記本   最后講終端輸出。前面說過每一行從左至右的輸出的是樹的層次遍歷,其實就是遍歷log堆棧;換行輸出就是樹的分支遍歷,就是每一輪循環。輸出內容主要是三個符號:縮進、分支和節點內容。我們作如下策略:

  縮進:當堆棧里回溯點無效,則不存在分支,打印空格,八個字符對齊; 分支:當堆棧里回溯點有效,表示存在分支,打印“|”和空格,八個字符對齊; 節點:當堆棧遍歷到最后一個元素,表示后面將要輸出節點內容,打印“+---”,八個字符對齊,后面跟節點內容。

  當然你也可以自定義打印策略以便輸出更美觀。好了,說了一大堆,看效果吧無限層次樹形筆記本,運行程序,一目了然。

<

如果您覺得 先將top下移一個單位,然后返回所指向的log對象,也就是top 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.meyanliao.com/article/other/xjtopxyygdwrhfhszxdlogdxyjstop.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 国产精品亚洲а∨无码播放不卡| 中文字幕av无码一区二区三区电影| 国产强被迫伦姧在线观看无码| 日韩精品无码久久一区二区三| 中文无码成人免费视频在线观看| 无码人妻丰满熟妇啪啪网站| 无码不卡亚洲成?人片| 无码aⅴ精品一区二区三区浪潮| 久久精品无码一区二区三区免费 | 曰韩无码AV片免费播放不卡| 熟妇人妻中文av无码| 日韩一区二区三区无码影院| 亚洲v国产v天堂a无码久久| 精品人妻无码区在线视频| 成年午夜无码av片在线观看| 日韩精品成人无码专区免费| 人妻中文字幕无码专区| 久久无码AV中文出轨人妻| 成年男人裸j照无遮挡无码| 中文字幕韩国三级理论无码| 国产aⅴ无码专区亚洲av| 国产台湾无码AV片在线观看| 精品无码久久久久久久久| 999久久久无码国产精品| 人妻丰满熟妞av无码区| 无码一区二区三区视频| 夜夜添无码一区二区三区| 亚洲Av无码国产情品久久| 国产在线无码精品无码| 狠狠精品干练久久久无码中文字幕 | 国产精品无码久久av| 日本无码一区二区三区白峰美 | 亚洲av永久无码天堂网| 麻豆国产精品无码视频| 日木av无码专区亚洲av毛片| 99无码人妻一区二区三区免费| 欧洲精品久久久av无码电影| 无码日韩人妻精品久久蜜桃 | 国产精品无码制服丝袜| 无码午夜人妻一区二区不卡视频 | 亚洲av永久无码精品国产精品 |