今天幫朋友解決了乙個問題:使用
extjs
的treepanel
控制項,如何得到樹的第乙個葉子節點的資訊。
原理非常簡單,就是樹的層序遍歷,在遍歷過程中遇到第乙個葉子節點即完成工作。
效果如下圖
**如下:
varcurrentrootnode
=null;//
當前選擇的根節點
function
nodeclass()
function
initqueue(queue)
function
empty(queue)
return
returnvalue;
}function
enqueue(queue,x)
vartempnode
=new
nodeclass();
//生成乙個新的元素,並且值為x
tempnode.nodevalue
=x;
currentnode.nextnode
=tempnode;
//插入到最後
return
returnvalue;
}function
dequeue(queue)
else
}return
returnvalue;
//返回被刪除的第乙個元素的值
}function
gethead(queue)
function
clear(queue)
function
current_size(queue)
return
returnvalue;
//返回大小
}function
findfirstcheafnode()
}else}}
ext.onready(
function
() )
});var
rootid ='
0';var
rootnode
=new
ext.tree.asynctreenode();
//為tree設定根節點
tree.setrootnode(rootnode);
tree.render();
tree.on(
'click',
function
(node,event)
);});
varchildnodes
=null
;var
targetnode
=null;//
待查詢的目標葉子節點
varqueue
=null;//
輔助佇列
queue
=initqueue(queue);
//初始化佇列
queue
=enqueue(queue,currentrootnode);
//根節點入佇列
while(!
empty(queue))
}else}}
ext.onready(
function
() )
});var
rootid ='
0';var
rootnode
=new
ext.tree.asynctreenode();
//為tree設定根節點
tree.setrootnode(rootnode);
tree.render();
tree.on(
'click',
function
(node,event)
);});
層序遍歷在ExtJs的TreePanel中的應用
今天幫朋友解決了乙個問題 使用extjs的treepanel控制項,如何得到樹的第乙個葉子節點的資訊。原理非常簡單,就是樹的層序遍歷,在遍歷過程中遇到第乙個葉子節點即完成工作。效果如下圖 如下 varcurrentrootnode null 當前選擇的根節點 function nodeclass f...
層序遍歷在ExtJs的TreePanel中的應用
今天幫朋友解決了乙個問題 使用extjs的treepanel控制項,如何得到樹的第乙個葉子節點的資訊。原理非常簡單,就是樹的層序遍歷,在遍歷過程中遇到第乙個葉子節點即完成工作。效果如下圖 如下 varcurrentrootnode null 當前選擇的根節點 function nodeclass f...
前序遍歷 中序遍歷 後序遍歷 層序遍歷
根據遍歷畫圖 先根據中序和前序找到每一級的所有根 最近也是在準備筆試,由於沒有系統的學過資料結構,所以每次在考到二叉樹的遍歷的時候都是直接跪,次數多了也就怒了,前些天也是準備 沒時間整這些,現在提交了,算是稍微輕鬆點了,所以花了半天的時間來學了下二叉樹。現在記下來,以便後序查閱。一 二叉樹的遍歷概念...