//链式二叉树,先序遍历的查找第k个元素的值
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#define Max 10
typedef struct treenode {
char data;
struct treenode* lchild, * rchild;
}treenode, * tree;
void creatTree(tree& t) {
char ch;
ch = getchar();
if (ch == '#') t = NULL;
else {
t = (treenode*)malloc(sizeof(treenode));
t->data = ch;
t->lchild = NULL;
t->rchild = NULL;
creatTree(t->lchild);
creatTree(t->rchild);
}
}
int i= 1;
char ch;
char find_x(tree t, int k) {
if (t == NULL)
return '#';
if (i == k)
return t->data;
i++;
ch = find_x(t->lchild, k);
if (ch != '#')
return ch;
ch = find_x(t->rchild, k);
return ch;
}
int main() {
tree t;
int k=3;
creatTree(t);
printf("%c", find_x(t, k));
return 0;
}
//ABD##E##CF##G##
0510链式二叉树,先序遍历的查找第k个元素的值
于 2022-11-10 18:34:47 首次发布