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

2021-08-24 20:11:19 字數 1899 閱讀 4195

今天幫朋友解決了乙個問題:使用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 nodeclas...

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

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