輸入若干個不同的正整數(以0結束),按順序建立一顆二叉排序樹,輸出中序遍歷結果。再輸入乙個數x,在建好的二叉排序樹中查詢有無關鍵字x這個結點,有則刪除該節點,無則插入這個結點,刪除或插入後還要保證滿足二叉排序樹的要求。最後請用鄰接表的形式再次輸入該二叉排序樹。
#include#include#include#include#includeusing namespace std;
struct node ;
node*root;
void build(int k, struct node*&x)
else
else
}}void puts(struct node *x)
}void exers(node *&x)
if (n->right!=null&&n->right->val == x->val)
if (x->val > n->val)
else
}} else
n = n->right;
}x->right = x->left->right;
x->val = x->left->val;
x->left = x->left->left;
} else
else
} }}
void finds(int x)
if (x > n->val)
n = n->right;
else
n = n->left; }}
void print(node *x)
int main()
puts(root);
cout << endl;
cin >> x;
finds(x);
puts(root);
cout << endl;
print(root);
return 0;
}
二叉排序樹的操作
二叉排序樹的建立,中序遍歷,前序遍歷,後序遍歷,計算總結點數,計算樹的深度 二叉排序樹的建立 void creattree tree t,int m if melement creattree t lchild,m else creattree t rchild,m 前序遍歷 void preord...
二叉排序樹基本操作
1.儲存結構 二叉鍊錶 include include typedef struct bitnode bitnode,bitree 2.二叉排序樹查詢演算法 遞迴查詢二叉排序樹t中是否存在key status search bitree t,int key,bitree f,bitree p p指向...
二叉排序樹各項操作
二叉排序樹的各項操作 include include define max20 typedef int datatype typedef struct bi search tree bst tree 插入操作,value是待插入的值 bst tree bst insert bst tree root...