⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.c

📁 《数据结构-使用C语言》第三版
💻 C
字号:
//顺序存储结构下二叉树的遍历算法
#include<stdio.h>
#include<string.h>
#define Max 15

typedef char DataType;
void Visit(DataType item)
{
	printf("%c",item);
}

int main()
{
	int i, len;
	DataType a[Max];
	void Pre(DataType a[], int i, int len, void Visit(DataType item));
	void In(DataType a[], int i, int len, void Visit(DataType item));
	void Post(DataType a[], int i, int len, void Visit(DataType item));
	while(1)
	{
		gets(a);
		len=strlen(a);
		printf("\nPreOrder: ");
		Pre(a, 0, len, Visit);
		
		printf("\n\nInOrder: ");
		In(a, 0, len, Visit);
		
		printf("\n\nPost: ");
		Post(a, 0, len, Visit);
	}
	return 0;
}
	
void Pre(DataType a[], int i, int len, void Visit(DataType item))
{
	if(a[i]==' ')return;
	Visit(a[i]);
	if(2*i+1<len)Pre(a, 2*i+1, len, Visit);
	if(2*i+2<len)Pre(a, 2*i+2, len, Visit);
} 

void In(DataType a[], int i, int len, void Visit(DataType item))
{
	if(a[i]==' ')return;
	if(2*i+1<len)In(a, 2*i+1, len, Visit);
	Visit(a[i]);
	if(2*i+2<len)In(a, 2*i+2, len, Visit);
} 

void Post(DataType a[], int i, int len, void Visit(DataType item))
{
	if(a[i]==' ')return;
	if(2*i+1<len)Post(a, 2*i+1, len, Visit);
	if(2*i+2<len)Post(a, 2*i+2, len, Visit);	
	Visit(a[i]);
} 	
		 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -