xdoj 二叉树扩展先序遍历转中序遍历 二叉树遍历

文章介绍了如何在C语言中使用C++语法实现二叉树的先序遍历(前序遍历)和后序遍历,通过`TNode`和`BiTNode`结构体以及递归函数来构建和遍历二叉树。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公式化的过程,需要理解记忆。

扩展先序遍历

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct TNode
{
	char data;
	struct TNode* lchild, * rchild;
}TNode, *LinkTree;

void Creat(LinkTree* T);
void InOrderTraverse(LinkTree T);

int main()
{
	LinkTree T;
	Creat(&T);
	InOrderTraverse(T);
	return 0;
}

void Creat(LinkTree* T)
{	
	char ch;
	scanf("%c", &ch);
	if (ch == '#')
		T = NULL;
	else
	{
		*T = (LinkTree)malloc(sizeof(TNode));
		(*T)->data = ch;
		(*T)->lchild = NULL;
		(*T)->rchild = NULL;
		Creat(&((*T)->lchild));
		Creat(&((*T)->rchild));
	}
}

void InOrderTraverse(LinkTree T)
{
	if (T != NULL)
	{
		InOrderTraverse(T->lchild);
		printf("%c ", T->data);
		InOrderTraverse(T->rchild);
	}
}

二叉树遍历

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct BiTNode
{
	char data;
	struct BiTNode* lchild, * rchild;
}BiTNode, *LinkTree;

BiTNode* Creat(char* pre, char* in, int n);
void PostoOrderTraverse(BiTNode* T);

int main()
{
	char pre[30], in[30];
	scanf("%s", pre);
	scanf("%s", in);
	BiTNode* T = Creat(pre, in, strlen(pre));
	PostoOrderTraverse(T);
	return 0;
}

BiTNode* Creat(char* pre, char* in, int n)
{
	BiTNode* s;
	char* p;
	int k;
	if (n == 1)
	{
		s = (BiTNode*)malloc(sizeof(BiTNode));
		s->data = *pre;
		s->lchild = s->rchild = NULL;
		return s;
	}
	for (p = in; p < in + n; p++)
	{
		if (*p == *pre)
			break;
	}
	k = p - in;
	s = (BiTNode*)malloc(sizeof(BiTNode));
	s->data = *pre;
	s->lchild = s->rchild = NULL;
	if (k)  
		s->lchild = Creat(pre + 1, in, k);//左子树
	if (n - k - 1) 
		s->rchild = Creat(pre + k + 1, p + 1, n - k - 1);//右子树
	return s;
}

void PostoOrderTraverse(BiTNode* T)
{
	if (T != NULL)
	{
		PostoOrderTraverse(T->lchild);
		PostoOrderTraverse(T->rchild);
		printf("%c", T->data);
	}
}

### 如何在 IntelliJ IDEA 中重置设置到默认值 在 IntelliJ IDEA 中,可以通过多种方式重置设置以返回到其默认状态。以下是具体方法: #### 方法一:通过 Settings/Preferences 对话框手动恢复默认值 用户可以直接进入 `File -> Settings`(Windows/Linux)或 `IntelliJ IDEA -> Preferences`(macOS),然后导航至各个配置页面寻找 `Restore Defaults` 按钮来重置特定选项[^2]。 对于字体相关设置,可以在路径 `Editor -> Font` 下找到 `Restore Defaults` 功能按钮,点击即可将字体、字号等相关参数还原为初始设定。 #### 方法二:删除配置文件夹以完全重置 IDE 设置 另一种更为彻底的方式是移除 IntelliJ IDEA 的配置目录。这会清除所有的自定义设置并将环境恢复成首次启动的状态。具体的配置存储位置因操作系统而异: - **Windows**: `%USERPROFILE%\.IntelliJIdea<version>\config` - **macOS**: `~/Library/Preferences/IntelliJIdea<version>` - **Linux**: `~/.IntelliJIdea<version>/config` 关闭 IDE 后删除上述路径中的 `config` 文件夹能够实现全局范围内的设置清零操作[^1]。 另外需要注意的是,在执行该步骤前最好备份重要数据以及导出当前个性化布局方案以防丢失必要信息。 ```bash # 示例命令用于展示如何定位并处理 Linux 系统下的配置文件夹 cd ~/.IntelliJIdea<version> rm -rf config/ ``` #### 方法三:利用导入导出功能保存现有偏好后再初始化新实例 还可以考虑创建一个新的项目或者重新安装软件副本作为临时措施来进行对比测试。当新建工程时按照提示选择不继承任何前历史记录也是可行的选择之一。 以上便是关于怎样把 IntelliJ IDEA 的各项调节项归还原始出厂状况的一些指导建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值