树的一种非递归遍历

xiaoxiao2021-03-01  19

这种遍历 好像是有个名字的,忘了! 做html编辑器的时候,想到了这样一种算法

算法比较简单,没有采用递归,javascript实现如下,可以轻易转为其他语言

 

var queue= new Array(); var started = false; var scanned = false; var temp = root; while (temp) { if(!scanned&&temp.firstChild){ temp = temp.firstChild; continue; } queue.push(temp); if(temp.nextSibling){ temp = temp.nextSibling; scanned = false; continue; } scanned = true; temp = temp.parentNode; } return queue;  

 

转载请注明原文地址: https://www.6miu.com/read-4200296.html

最新回复(0)