• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 语言: 其他
  • 标签:

资源简介

设计一个读入一串整数构成一颗二叉排序树的程序,从二叉排序树中删除一个结点,使该二叉树仍保持二叉排序树的特性。

资源截图

代码片段和文件信息


#include 
#include 
typedef int KeyType;
typedef struct tree
{ /*声明树的结构*/
struct tree *left;   /*存放左子树的指针*/
struct tree *right; /*存放又子树的指针*/
KeyType key;            /*存放节点的内容*/
} BSTNode * BSTree;   /*声明二叉树的链表*/

/* 在二叉排序树中插入结点*/
BSTree insertBST(BSTree tptrKeyType key)
{/*若二叉排序树tptr中没有关键字为key的结点,则插入,否则直接返回*/
BSTree fp=tptr; /*p的初值指向根结点*/
while(p) /*查找插入位置,循环结束时,p是空指针,f指向待插入结点的双亲*/
{
   if(p->key==key)   /*树中已有key,无须插入*/
        return tptr;
   f=p; /*f保存当前查找的结点,即f是p的双亲*/
   p=(keykey)?p->left:p->right; 
}
p=(BSTree )malloc(sizeof(BSTNode)); /*生成新结点*/
p->key=key; p->left=p->right=NULL;
if(tptr==NULL) /*原树为空,新插入的结点为新的根*/
   tptr=p;
else
   if(keykey)
    f->left=p;
   else
    f->right=p;
return tptr;
}

/*建立二叉树 */
BSTree cre

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4193  2018-06-13 21:35  d.c

评论

共有 条评论

相关资源