一种非递归深度遍历

一种非递归深度遍历
 算法比较简单,没有采用递归,javascript实现如下,可以轻易转为其他语言 
var stack = new Array();
var scanned = false;
var temp = root;
while (temp) {
    stack.push(temp);
    if(!scanned& &temp.firstChild){
        temp = temp.firstChild;
        continue;
    }
    if(temp.nextSibling){
        temp = temp.nextSibling;
        scanned = false;
        continue;
    }
    scanned = true;
    temp = temp.parentNode;
}


更多信息请访问 java教程网 www.itchm.com

你可能感兴趣的:(一种非递归深度遍历)