📄 search.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 + -