二叉树的深度优先遍历(递归和非递归方式)
二叉树的深度优先遍历 == 前序遍历 #include <iostream> #include <stack> using namespace std; typedef struct tree { int data; struct tree *l_child; struct tree *r_child; }TreeNode; TreeNode *insertNode(TreeNode *root,int data) { if(root == NULL) { TreeNode *newNode = new TreeNode(); newNode->data = data; newNode->l_child = NULL; newNode->r_child = NULL; root = newNode; } else if(data < root->data) { root->l_child = insertNode(root->l_child,data); } else { root->r_child = insertNode(root->r_child,data); } return root; } TreeNode *createTree(void) { int index = 0; TreeNode *root = NULL; root = insertNode(root