数据结构(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的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版) 排序 算法设计Demo4

数据结构(C语言版) 树和二叉树 算法设计Demo4

数据结构(C语言版) 查找 算法设计Demo5

数据结构(C语言版) 查找 算法设计Demo6

数据结构(C语言版) 查找 算法设计Demo3

数据结构(C语言版) 排序 算法设计Demo5