int main(int argc, char *argv[]) { BT T = CreateBinTree(); printf("二叉搜索树创建成功, 现在输出先序遍历的结果:"); PreOrderTraversal(T); printf("\n"); printf("二叉搜索树创建成功, 现在输出中序遍历的结果:"); InOrderTraversal(T); printf("\n\n");
BT resTNode; printf("【1】使用递归方式查找数字 7 是否在二叉搜索树中 : "); if (Findx_inBST(T, 7)) { printf("YES \n"); resTNode = Findx_inBST(T, 7); printf(" 用FindX_inBST的结果显示一下数字 7 : %d\n\n", resTNode->data); } else { printf("NO \n\n"); }
printf("【2】使用非递归方式查找数字 5 是否在二叉搜索树中 : "); if (Findx_inBST2(T, 5)) { printf("YES \n\n"); resTNode = Findx_inBST2(T, 5); printf(" 用FindX_inBST_的结果显示一下数字 5 : %d\n\n", resTNode->data); } else { printf("NO\n\n"); }
resTNode = Findmax_inBST(T); printf("【3】使用递归方式找到该二叉搜索树的最大值为 : %d\n", resTNode->data); resTNode = Findmax_inBST2(T); printf("【4】使用非递归方式找到该二叉搜索树的最大值为 : %d\n\n", resTNode->data);
resTNode = Findmin_inBST(T); printf("【5】使用递归方式找到该二叉搜索树的最小值为 : %d\n", resTNode->data); resTNode = Findmin_inBST2(T); printf("【6】使用非递归方式找到该二叉搜索树的最小值为 : %d\n\n", resTNode->data);
printf("【7】将数字 35 插入该二叉搜索树中 : \n"); resTNode = InsertXtoBST(T, 35); printf(" 成功插入数字 35, 现在输出先序遍历的结果:"); PreOrderTraversal(resTNode); printf("\n"); printf(" 成功插入数字 35, 现在输出中序遍历的结果:"); InOrderTraversal(resTNode); printf("\n\n");
printf("【8】将数字 6 插入空树中 : "); BT T1 = CreateBinTree(); resTNode = InsertXtoBST(T1, 6); printf(" 成功插入数字 6, 现在输出先序遍历的结果:"); PreOrderTraversal(resTNode); printf("\n"); printf(" 成功插入数字 6, 现在输出中序遍历的结果:"); InOrderTraversal(resTNode); printf("\n\n");
printf("【9】将数字 33 从该二叉搜索树中删除 : \n"); resTNode = Deletex_inBST(T, 33); printf(" 成功删除数字 33, 现在输出先序遍历的结果:"); PreOrderTraversal(resTNode); printf("\n"); printf(" 成功删除数字 33, 现在输出中序遍历的结果:"); InOrderTraversal(resTNode); printf("\n\n");
system("pause"); return 0; }
|