如果我想按順序打印所有音高,那麼左側先出現然後右側出現,我如何重複以下內容。對於下面的第一段代碼;答案應該是a4,b4,c4,d4。我怎樣才能實現這個程序化?Javascript:遍歷二叉樹?
var melody2_mus =
{ tag: 'seq',
left:
{ tag: 'seq',
left: { tag: 'note', pitch: 'a4', dur: 250 },
right: { tag: 'note', pitch: 'b4', dur: 250 } },
right:
{ tag: 'seq',
left: { tag: 'note', pitch: 'c4', dur: 500 },
right: { tag: 'note', pitch: 'd4', dur: 500 } } }
又如:
var melody2_mus =
{ tag: 'seq',
left: { tag: 'note', pitch: 'b4', dur: 250 } },
right:
{ tag: 'seq',
left: { tag: 'note', pitch: 'c4', dur: 500 },
right: { tag: 'note', pitch: 'd4', dur: 500 } } }
應該打印B4,C4,D4
由於
試圖按順序深度優先遍歷? http://en.wikipedia.org/wiki/Tree_traversal#In-order – 2013-05-07 15:47:34