emp5_30.cpp
来自「该包是数据结构的实验软件,来源于合肥工业大学人工智能与数据挖掘实验室,用来实现数」· C++ 代码 · 共 48 行
CPP
48 行
// emp5_30
#include "btreint.h";
const int n=25;
int fib(int n)
{
if (n<2) return n;
else return (fib(n-1)+fib(n-2));
}
int FibIndex(int n)
{
int k;
k=0;
while (fib(k)<n) k=k+1;
return k;
}
void createt(bitre &t,int i,int p,int q)
{
t=(bitre)malloc(sizeof(struct bnode));
t->data=i;
if (q==0) t->lchild=NULL;
else createt(t->lchild,i-q,q,p-q);
if (p==1) t->rchild=NULL;
else createt(t->rchild,i+q,p-q,2*q-p);
}
void main()
{
bitre t;
int a,m,i,p,q;
a=FibIndex(n+1);
printf("a=%d",a);
getch();
i=fib(a-1);
p=fib(a-2);
q=fib(a-3);
m=n+1-(i+p);
t=(bitre)malloc(sizeof(struct bnode));
t->data=i;
createt(t->lchild,i-q,q,p-q);
if (2*(p-1)+1>n) createt(t->rchild,i+m+q,p-q,2*q-p);
else createt(t->rchild,i+m+q,p-q,2*q-p);
display_bitre("bitre",t);
getch();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?