層序遍歷在ExtJs的TreePanel中的應用

2021-09-05 21:49:44 字數 1989 閱讀 6591

今天幫朋友解決了乙個問題:使用

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...

前序遍歷 中序遍歷 後序遍歷 層序遍歷

根據遍歷畫圖 先根據中序和前序找到每一級的所有根 最近也是在準備筆試,由於沒有系統的學過資料結構,所以每次在考到二叉樹的遍歷的時候都是直接跪,次數多了也就怒了,前些天也是準備 沒時間整這些,現在提交了,算是稍微輕鬆點了,所以花了半天的時間來學了下二叉樹。現在記下來,以便後序查閱。一 二叉樹的遍歷概念...