首页 > 代码库 > 广度优先遍历二叉树
广度优先遍历二叉树
// //广度优先遍历二叉树
// //从一个顶点开始,识别所有可到达顶点
// //的方法叫作广(宽)度优先搜索,这种
// //搜索可使用队列来实现
typedef struct binarytree { EleType data; struct binarytree *LeftChild; struct binarytree *RightChild; }Tree; // class Node { Tree t; Node next; }; // class Queue { Node head; Node tail; public: void enque(Tree t) { Node n; n.t = t; if (!tail) { tail = head = n; } else { tail.next = n; tail = n; } } Tree deque() { if (!head) { return NULL; } else { Node n = head; head = head.next; return n.t; } } }; // void BST(Tree t) { Queue q; q.enque(t); Tree t = q.deque(); while (t) { printf(t.data); if(t.LeftChild) q.enque(t.LeftChild); if(t.RightChild) q.enque(t.RightChild); t = q.deque(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。