数据结构(C语言版) 查找 算法设计Demo4
Posted Aiden (winner)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 查找 算法设计Demo4相关的知识,希望对你有一定的参考价值。
已知二叉树T的结点形式为(lling,data,count,rlink),在树中查找值为X的结点,若找到,则记数(count)加1,否则,作为一个新结点插入树中,插入后仍为二叉排序树,写出其非递归算法。
[算法描述]
void SearchBST(BiTree &T,int target)
BiTree s,q,f; //以数据值target,新建结点s
s=new BiTNode;
s->data.x=target;
s->data.count=0;
s->lchild=s->rchild=NULL;
if(!T)
T=s;
return ;
//如果该树为空则跳出该函数
f=NULL;
q=T;
while (q)
if (q->data.x==target)
q->data.count++;
return ;
//如果找到该值则计数加一
f=q;
if (q->data.x>target) //如果查找值比目标值大,则为该树左孩子
q=q->lchild;
else //否则为右孩子
q=q->rchild;
//将新结点插入树中
if(f->data.x>target)
f->lchild=s;
else
f->rchild=s;
以上是关于数据结构(C语言版) 查找 算法设计Demo4的主要内容,如果未能解决你的问题,请参考以下文章