mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 14:18:20 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			929 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			929 B
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
 * File: binary_tree.c
 | 
						|
 * Created Time: 2023-01-11
 | 
						|
 * Author: Reanon (793584285@qq.com)
 | 
						|
 */
 | 
						|
 | 
						|
#include "../utils/common.h"
 | 
						|
 | 
						|
/* Driver Code */
 | 
						|
int main() {
 | 
						|
    /* 初始化二叉树 */
 | 
						|
    // 初始化节点
 | 
						|
    TreeNode *n1 = newTreeNode(1);
 | 
						|
    TreeNode *n2 = newTreeNode(2);
 | 
						|
    TreeNode *n3 = newTreeNode(3);
 | 
						|
    TreeNode *n4 = newTreeNode(4);
 | 
						|
    TreeNode *n5 = newTreeNode(5);
 | 
						|
    // 构建引用指向(即指针)
 | 
						|
    n1->left = n2;
 | 
						|
    n1->right = n3;
 | 
						|
    n2->left = n4;
 | 
						|
    n2->right = n5;
 | 
						|
    printf("初始化二叉树\n");
 | 
						|
    printTree(n1);
 | 
						|
 | 
						|
    /* 插入与删除节点 */
 | 
						|
    TreeNode *P = newTreeNode(0);
 | 
						|
    // 在 n1 -> n2 中间插入节点 P
 | 
						|
    n1->left = P;
 | 
						|
    P->left = n2;
 | 
						|
    printf("插入节点 P 后\n");
 | 
						|
    printTree(n1);
 | 
						|
 | 
						|
    // 删除节点 P
 | 
						|
    n1->left = n2;
 | 
						|
    // 释放内存
 | 
						|
    free(P);
 | 
						|
    printf("删除节点 P 后\n");
 | 
						|
    printTree(n1);
 | 
						|
 | 
						|
    freeMemoryTree(n1);
 | 
						|
    return 0;
 | 
						|
}
 |