用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

二叉排序树查找算法

2012-10-11 作者: 神马举报

[c]代码库

typedef struct NODE
{
	ElemType elem; /*数据元素字段*/
	struct NODE *lc,*rc; /*左、右指针字段*/
} NodeType; /*二叉树结点类型*/



int SearchElem ( NodeType *t,NodeType **p,NodeType **q,KeyType kx )
{ /*在二叉排序树t 上查找关键码为kx 的元素,若找到,返回1,且q 指向该结点,p 指向其父结点;*/
	/*否则,返回0,且p 指向查找失败的最后一个结点*/
	int flag=0;
	*q=t;
	while ( *q ) /*从根结点开始
查找*/
	{
		if ( kx> ( *q )->elem.key ) /*kx 大于当前结点*q 的元素关键码*/
			{ *p=*q; *q= ( *q )->rc; } /*将当前结点*q 的右子女置为新根*/
		else
		{
			if ( kx< ( *q )->elem.key ) /*kx 小于当前结点*q 的元素关键码*/
				{ *p=*q; *q= ( *q )->lc;} /*将当前结点*q 的左子女置为新根*/
			else {flag=1; break;} /*查找成功,返回*/
		}
	}/*while*/
	return flag;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...