题目
假设二叉树采用二叉链表存储结构存储,编写一个程序,输出先序遍历序列中第k个结点的值,假设k不大于结点的总数
#函数程序代码块
int n=0;//n为全局变量,记录当前访问的结点的位置编号,此为此函数之要点
void locate(BTNode *p, int k)
{
if(p!=NULL)
{
++n;
if(k==n)
{
cout<<p->data<<endl;
return;
}
else
{
locate(p->lchild,k);
locate(p->rchild,k);
}
}
}
#检测程序源代码及结果
检测二叉树如下图
#检测程序源代码
#include<iostream>
using namespace std;
typedef char mytype;
//二叉树链表结点
typedef struct BTNode