es6 --- 使用yield*命令遍历完全二叉树
生活随笔
收集整理的這篇文章主要介紹了
es6 --- 使用yield*命令遍历完全二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先定義二叉樹的結構:
// 定義二叉樹的結構 function Tree(left, label, right) {this.left = left;this.label = label;this.right = right; }// 對二叉樹采用中序遍歷 function* inorder(t) {if(t) {yield* inorder(t.left);yield t.label;yield* inorder(t.right);} }// 生成二叉樹 function make(array) {if (array.length === 1) return new Tree(null, array[0], null);return new Tree(make(array[0]), array[1], make(array[2])); }let tree = make([['a'], 'b', ['c']], 'd', [['e'], 'f', ['g']]]);// 遍歷二叉樹 var result = []; for (let node of inorder(tree)) {result.push(node); } console.log(result);參考《ES6標準入門》(第3版)P341
總結
以上是生活随笔為你收集整理的es6 --- 使用yield*命令遍历完全二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程uml画图期末考试(新闻发布系统
- 下一篇: 计算机VB圆的面积周长,使用VB设计一个