数据结构——二叉树根节点到特定节点路径(C语言版)

二叉树——根节点到特定节点路径查找

  • 一、思路
  • 二、代码实现

一、思路

使用二叉链表创建的二叉树,这里我的思路是用链栈来存放找寻二叉树特定节点中,用来存放节点元素

个人思路:创建链栈,遍历二叉树并把路径中节点元素存放到栈中(如下图所示):

L 为一开始创建的链栈头指针
flag = 1,作为标记符,表示还没在一条路径中,找到要找的特定节点元素

在这里插入图片描述

二、代码实现

思路理解不了,可以结合运行结果图,加上自己画图理解,运行结果在最下方

#include
#include

//	二叉树结构体 
typedef struct TreeLink{
   
	int Data;
	struct TreeLink *LChild;	//	左子树指针
	struct TreeLink *RChild;	//	右子树指针
}T_LINK,*TLINK;	

//	链栈 
typedef struct STACK{
   
	
	int data;
	struct STACK *next;	
	
}StackNode,*Stack; 

int flag;	//	标记符 
Stack L;	//	链栈头节点指针 

//************************* 二叉树 ***********************// 
//	创建二叉树 
TLINK Create_TreeLink()
{
   
	TLINK T;
	
	int data;
	int temp;
	 
	scanf("%d",&data);
	temp = getchar();	//	吸收scanf带来的回车 

	if(data == -1){
   		//	输入-1表示该节点下左树或者右树下不存数据,返回到上一级节点 
		
		return NULL;		
	
	}else

你可能感兴趣的:(数据结构,数据结构,二叉树,算法)