返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 資訊 > 其他>先將top下移一個(gè)單位,然后返回所指向的log對(duì)象,也就是top

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

  然后我們將遍歷過的節(jié)點(diǎn)壓棧,這里也是有區(qū)分的:如果當(dāng)前是葉子節(jié)點(diǎn),或者所有分支都遍歷完了,那么應(yīng)該繼續(xù)上溯去尋找回溯點(diǎn),我們就將回溯點(diǎn)設(shè)為無效后壓棧;否則就將當(dāng)前節(jié)點(diǎn)設(shè)為回溯點(diǎn),并記錄位置索引后壓棧。

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

無限層次樹形筆記本   最后講終端輸出。前面說過每一行從左至右的輸出的是樹的層次遍歷,其實(shí)就是遍歷log堆棧;換行輸出就是樹的分支遍歷,就是每一輪循環(huán)。輸出內(nèi)容主要是三個(gè)符號(hào):縮進(jìn)、分支和節(jié)點(diǎn)內(nèi)容。我們作如下策略:

  縮進(jìn):當(dāng)堆棧里回溯點(diǎn)無效,則不存在分支,打印空格,八個(gè)字符對(duì)齊; 分支:當(dāng)堆棧里回溯點(diǎn)有效,表示存在分支,打印“|”和空格,八個(gè)字符對(duì)齊; 節(jié)點(diǎn):當(dāng)堆棧遍歷到最后一個(gè)元素,表示后面將要輸出節(jié)點(diǎn)內(nèi)容,打印“+---”,八個(gè)字符對(duì)齊,后面跟節(jié)點(diǎn)內(nèi)容。

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

<

如果您覺得 先將top下移一個(gè)單位,然后返回所指向的log對(duì)象,也就是top 這篇文章對(duì)您有用,請(qǐng)分享給您的好友,謝謝
文章地址:http://m.brucezhang.com/article/other/xjtopxyygdwrhfhszxdlogdxyjstop.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 99久久精品国产一区二区成人| 国产成人啪精品视频免费网| 成人国产精品视频| 精品久久久久成人码免费动漫| 欧美成人片一区二区三区| 成人影院在线观看视频| 国产成人精品一区二三区| 免费成人午夜视频| 成人毛片18女人毛片免费96| 国产成人亚洲精品91专区手机| www.国产成人| 成人免费无遮挡无码黄漫视频| 亚洲欧美日韩成人网| 成人毛片全部免费观看| 人碰人碰人成人免费视频| 成人免费一区二区三区在线观看 | 久久久久99精品成人片| 成人口工漫画网站免费| 国产成人免费一区二区三区 | 欧美14videosex性欧美成人| 亚洲色成人WWW永久网站| 羞羞漫画成人在线| 久久国产成人精品国产成人亚洲| 成人AAA片一区国产精品| 欧美成人一区二区三区在线电影 | 成人午夜app| 最新69堂国产成人精品视频| 国产成人av一区二区三区在线观看 | 国产激情一区二区三区成人91| 久久国产精品成人片免费| 免费成人一级片| 免费无码成人AV在线播放不卡 | 精品久久久久久成人AV| 91成人在线观看视频| 久久成人无码国产免费播放 | 国产成人精选视频69堂| 国产成人精品高清在线观看99| 性欧美成人免费观看视| 国产成人在线观看免费网站| 国产成人精品免费视频大全| 成人在线免费观看网站|