资源简介
C++编写的查找算法,用二叉排序树查找,是在VC++6.0上实现的
代码片段和文件信息
#include
#include
typedef int InfoType;
typedef int KeyType;
typedef struct node
{
KeyType key;
InfoType otherinfo;
struct node *lchild*rchild;
}BSTNode;
typedef BSTNode *BSTree;
BSTNode *SearchBST(BSTree TKeyType key)
{
if(T==NULL||key==T->key)
return T;
if(keykey)
return SearchBST(T->lchildkey);
else
return SearchBST(T->rchildkey);
}
void InsertBST(BSTree *Tint key) //插入值
{
BSTNode *p*q;
if((*T)==NULL)
{
(*T)=(BSTree)malloc(sizeof(BSTNode));
(*T)->key=key;
(*T)->lchild=(*T)->rchild=NULL;
}
else
{
p=(*T);
while(p)
{
q=p;
if(p->key>key)
p=q->lchild;
else if(p->key p=q->rchild;
else
{
printf(“\n 该二叉排序树中含有关键字为%d 的节点!\n“key);
return;
}
}
p=(BSTree)malloc(sizeof(BSTNode));
p->key=key;
p->lchild=p->rchild=NULL;
if(q->key>key)
q->lchild=p;
else q->rchild=p;
}
}
BSTree CreateBST(void) //建立二叉排序树
{
BSTree T=NULL;
KeyType key;
scanf(“%d“&key);
while(key)
{
InsertBST(&Tkey);
scanf(“%d“&key);
}
return T;
}
void main()
{
BSTNode *SearchBST(BSTree TKeyType key);
void InsertBST(BSTree *TptrKeyType key);
BSTree CreateBST();
BSTree T;
BSTNode *p;
int key;
printf(“请输入关键字(输入 0 为结束标志) :\n“);
T=CreateBST();
printf(“\n“);
printf(“请输入欲查找关键字:“);
scanf(“%d“&key);
p=SearchBST(Tkey);
if(p==NULL)
printf(“没有找到%d!\n“key);
else printf(“找到%d!\n“key);
printf(“\n“);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 41984 2012-07-20 17:27 二叉排序树查找\Debug\vc60.idb
文件 53248 2012-07-19 14:53 二叉排序树查找\Debug\vc60.pdb
文件 184377 2012-07-20 17:27 二叉排序树查找\Debug\tree.exe
文件 443392 2012-07-19 17:30 二叉排序树查找\Debug\tree.pdb
文件 220236 2012-07-19 14:53 二叉排序树查找\Debug\tree.pch
文件 6013 2012-07-20 17:27 二叉排序树查找\Debug\tree.obj
文件 182892 2012-07-20 17:27 二叉排序树查找\Debug\tree.ilk
文件 0 2012-07-20 17:27 二叉排序树查找\tree.plg
文件 41984 2012-07-20 17:40 二叉排序树查找\tree.ncb
文件 1639 2012-07-18 17:22 二叉排序树查找\tree.cpp
文件 48640 2012-07-20 17:27 二叉排序树查找\tree.opt
文件 3377 2012-07-20 17:27 二叉排序树查找\tree.dsp
目录 0 2012-07-18 15:47 二叉排序树查找\Debug
目录 0 2012-07-18 15:47 二叉排序树查找
----------- --------- ---------- ----- ----
1227782 14
- 上一篇:C++写的家庭小记账本
- 下一篇:模拟Ethernet帧的发送过程
评论
共有 条评论