前序遍歷:
#include <iostream>
using namespace std;
struct TreeNode {
int value;
TreeNode* left;
TreeNode* right;
};
TreeNode* createNode(int value) {
TreeNode* node = new TreeNode;
node -> value = value;
node -> left = NULL;
node -> right = NULL;
return node;
}
void BinaryTree_PreOrder(TreeNode* root) {
if(root == NULL) return;
cout<<root -> value<<ends;
if(root -> left) {
BinaryTree_PreOrder(root -> left);
}
if(root -> right) {
BinaryTree_PreOrder(root -> right);
}
}
int main() {
TreeNode* root = new TreeNode;
root -> value = 10;
root -> left = createNode(5);
root -> right = createNode(12);
root -> left -> left = createNode(4);
root -> left -> right = createNode(7);
BinaryTree_PreOrder(root);
}
中序遍歷:
#include <iostream>
using namespace std;
struct TreeNode {
int value;
TreeNode* left;
TreeNode* right;
};
TreeNode* createNode(int value) {
TreeNode* node = new TreeNode;
node -> value = value;
node -> left = NULL;
node -> right = NULL;
return node;
}
void BinaryTree_PreOrder(TreeNode* root) {
if(root == NULL) return;
if(root -> left) {
BinaryTree_PreOrder(root -> left);
}
cout<<root -> value<<ends;
if(root -> right) {
BinaryTree_PreOrder(root -> right);
}
}
int main() {
TreeNode* root = new TreeNode;
root -> value = 10;
root -> left = createNode(5);
root -> right = createNode(12);
root -> left -> left = createNode(4);
root -> left -> right = createNode(7);
BinaryTree_PreOrder(root);
}
後序遍歷:
#include <iostream>
using namespace std;
struct TreeNode {
int value;
TreeNode* left;
TreeNode* right;
};
TreeNode* createNode(int value) {
TreeNode* node = new TreeNode;
node -> value = value;
node -> left = NULL;
node -> right = NULL;
return node;
}
void BinaryTree_PreOrder(TreeNode* root) {
if(root == NULL) return;
if(root -> left) {
BinaryTree_PreOrder(root -> left);
}
if(root -> right) {
BinaryTree_PreOrder(root -> right);
}
cout<<root -> value<<ends;
}
int main() {
TreeNode* root = new TreeNode;
root -> value = 10;
root -> left = createNode(5);
root -> right = createNode(12);
root -> left -> left = createNode(4);
root -> left -> right = createNode(7);
BinaryTree_PreOrder(root);
}