Tree.h
#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef int BTDataType;
typedef struct BinaryTreeNode
{
int data;
struct BinaryTreeNode* left;
struct BinaryTreeNode* right;
}BTNode;
//前序遍历
void PreOrder(BTNode* root);
Tree.c
#define _CRT_SECURE_NO_WARNINGS 1
#include"Tree.h"
//前序遍历
void PreOrder(BTNode* root)
{
if (root == NULL)
{
return;
}
printf("%d", root->data);
PreOrder(root->left);
PreOrder(root->right);
}
test.c
#define _CRT_SECURE_NO_WARNINGS 1
#include"Tree.h"
//买新节点
BTNode* buyNode(BTDataType x)
{
BTNode* newNode = (BTNode*)malloc(sizeof(BTNode));
if (newNode == NULL)
{
perror("malloc fail");
exit(1);
}
newNode->data = x;
newNode->left = newNode->right = NULL;
return newNode;
}
void test01()
{
//创立节点
BTNode* node1 = buyNode(1);
BTNode* node2 = buyNode(2);
BTNode* node3 = buyNode(3);
BTNode* node4 = buyNode(4);
//链接
node1->left = node2;
node1->right = node3;
node2->left = node4;
BTNode* plist = node1;
//调用前序遍历
PreOrder(plist);
}
int main()
{
test01();
return 0;
}