小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

二叉查找樹

 昵稱1740930 2012-03-30
#include<iostream.h>
typedef struct BiNode
{
 int data;                      //結(jié)點的值,假設查找集合的元素為整型
 BiNode *lchild, *rchild;         //指向左、右子樹的指針
}BiNode;
BiNode * SearchBST(BiNode *root, int k);
BiNode *insertBST(BiNode *tree,int data);
BiNode *createBST(int a[],int n);
int main()
{
 BiNode *root,*t;
 int a[]={55,42,10,70,63,58,83,67,90,45};
 root=createBST(a,10);
    t=SearchBST(root,10);
 if(t)
  cout<<"查找成功";
 else
  cout<<"查找失敗";
 return 0;
}
BiNode *insertBST(BiNode *tree,int data)      //二叉排序樹的插入
{
 if(tree==NULL)
 {
  tree=new BiNode;
  tree->data=data;
  tree->lchild=NULL;
  tree->rchild=NULL;
  return tree;
 }
 if(data<=tree->data)
  tree->lchild=insertBST(tree->lchild,data);
 else
  tree->rchild=insertBST(tree->rchild,data);
 return tree;
}
BiNode *createBST(int a[],int n)       //二叉排序樹的創(chuàng)建
{
 BiNode *t=NULL;
 int i=0;
 while(a[i]!=-1)
 {
  t=insertBST(t,a[i]);
  i++;
 }
 return t;
}
BiNode * SearchBST(BiNode *root, int k)
{
    if (root == NULL) return NULL;            //二叉查找樹為空,查找失敗
 else if (root->data == k) return root;           //查找成功
 else if (k < root->data)                   //查找左子樹
  return SearchBST(root->lchild, k);
    else                               //查找右子樹
  return SearchBST(root->rchild, k);
}

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多