二叉排序树:查找,插入,构造

来源:互联网 发布:二手显卡 知乎 编辑:程序博客网 时间:2024/05/17 22:24
//二叉排序树存储结构typedef struct BTNode{int key;struct BTNode *lchild;struct BTNode *rchild;}BTNode;//二叉排序树查找算法BTNode *BSTSearch(BTNode *bt,int key){if(bt==NULL)return NULL;else{if(bt->key==key)return bt;else if(key<bt->key)return BSTSearch(bt->lchild,key);elsereturn BSTSearch(bt->rchild,key);}}//二叉排序树的插入关键字算法int BSTInsert(BTNode *&bt,int key)//注意此处是指针变量的引用{if(bt==NULL){bt=(BTNode *)malloc(sizeof(BTNode));bt->lchild=bt->rchild=NULL;bt->key=key;return 1;}else{if(key==bt->key)return 0;else if(key<bt->key)return BSTInsert(bt->lchild,key);else return BSTInsert(bt->rchild,key);}}//二叉排序树的构造void CreatBST(BTNode *&bt,int key[],int n){int i;bt=NULL;for(i=1;i<=n;i++)BSTInsert(bt,key[i]);}

0 0
原创粉丝点击