二叉树
简单二叉树遍历:
比如这个
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node *left;
struct node *right;
};
typedef struct node Node;
void PreOrder(Node *node) { //先序
if (node != NULL) {
printf("%d\n", node -> data);
PreOrder(node -> left);
PreOrder(node -> right);
}
}
void InOrder(Node *node) {//中序
if (node != NULL) {
InOrder(node -> left);
printf("%d\n", node -> data);
InOrder(node -> right);
}
}
void PostOrder(Node *node) {//后序
if (node != NULL) {
PostOrder(node -> left);
PostOrder(node -> right);
printf("%d\n", node -> data);
}
}
int main() {
Node n1;
Node n2;
Node n3;
Node n4;
n1.data = 5;
n2.data = 6;
n3.data = 7;
n4.data = 8;
n1.left = &n2;
n1.right = &n3;
n2.left = &n4;
n2.right = NULL;
n3.left = NULL;
n3.right = NULL;
n4.left = NULL;
n4.right = NULL;
PreOrder(&n1);//先序
// InOrder(&n1);//中序
// PostOrder(&n1);//后序
return 0;
}