📄 8-8.c
字号:
#include "stdio.h"
#include "stdio.h"
typedef int KeyType; /*假定关键字类型为整数*/
typedef struct node { /*结点类型*/
KeyType key; /*关键字项*/
/*其它数据域,InfoType视应用情况而定,下面不处理它*/
struct node *lchild,*rchild;//左右孩子指针
} BSTNode;
typedef BSTNode * bitreptr; // bitreptr是二叉排序树的类型
int FindGE(int k, int Kout, bitreptr root)
{/* 寻找值≥ k 的最小元素*/
bitreptr p = root;/* 搜索指针*/
bitreptr s = NULL; /* 指向迄今所找到的>= k 的最小元素*/
/* 对树进行搜索*/
while (p)
{/* p是一个候选吗?*/
if (k <= p->key)
{/* 是的*/
s = p; /* p 是比s更好的候选*/
/* 较小的元素仅会在左子树中*/
p = p->lchild;
}
else /* 不是, p->data太小, 试一试右子树*/
p = p->rchild;
}
if (!s)
return 0; /* 没找到*/
Kout = s->key;
return 1;
}
void Initial(bitreptr pt)
{
//初始化
}
void main(void)
{
bitreptr root;
int k=4,Kout=6,result;
Initial(root);
result=FindGE(k,Kout,root);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -