二叉树-C++ | 层级顺序遍历二叉树_2
层级顺序遍历二叉树?/* Binary tree - Level Order Traversal */ #include #include using namespace std; struct Node { char data; Node *left; Node *right; }; // Function to print Nodes in a binary tree in Level order void LevelOrder(Node *root) { if(root == NULL) return; queue Q.push(root); //while there is at least one discovered node while(!Q.empty()) { Node* current = Q.front(); Q.pop(); // removing the element at front cout< if(current->left != NULL) Q.push(current->left); if(current->right != NULL) Q.push(current->right); } } // Function to Insert Node in a Binary Search Tree Node* Insert(Node *root,char data) { if(root == NULL) { root = new Node(); root->data = data; root->left = root->right = NULL; } else if(data <= root->data) root->left = Insert(root->left,data); else root->right = Insert(root->right,data); return root; } int main() { /*Code To Test the logic Creating an example tree M / B Q / A C Z */ Node* root = NULL; root = Insert(root,'M'); root = Insert(root,'B'); root = Insert(root,'Q'); root = Insert(root,'Z'); root = Insert(root,'A'); root = Insert(root,'C'); //Print Nodes in Level Order. LevelOrder(root); } 编程就是算法和数据结构,算法和数据结构是编程的灵魂。? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |