数据结构 - 二叉排序树的实现(二)
入的二叉树节点的数值(输入数字0结束节点赋值):\n"); scanf("%d",&k.key); for(i=0;k.key!=NULL;i++) { if(!SearchBST(BT,k.key,NULL,p)) //查找关键字 { InsertBST(BT,k); //二叉树节点数值插入 scanf("%d",&k.key); } else { printf("输入数据重复!\n"); return 0; } } printf("二叉排序树树形输出为:\n"); ShowBST(BT,nlayer); //树形显示二叉排序树 printf("请输入删除的数据:"); scanf("%d",&d.key); DeleteBST(BT,d.key); //删除关键字 ShowBST(BT,nlayer); printf("先序遍历为:"); //先序遍历、中序遍历、后序遍历 PreOrderTraverse(BT,Visit); printf("\n中序遍历为:"); InOrderTraverse(BT, Visit); printf("\n后序遍历为:"); PostOrderTraverse(BT,Visit); printf("\n清空该二叉排序树.\n"); //清空二叉树 ClearBiTree(BT); ShowBST(BT,nlayer); printf("\n销毁该二叉排序树.\n"); //销毁二叉树 ClearBiTree(BT); return 0; }