05-查找

题目1:6-1 二叉搜索树的操作集

1. 设计思路

BinTree Insert( BinTree BST, ElementType X )
若树为空创建新结点
如果插入值比结点值大插入右子树
如果插入值比结点值小插入左子树
BinTree Delete( BinTree BST, ElementType X )
若树为空输出Not Found
如果插入值比结点值大从右子树中删除值为X的结点
如果插入值比结点值小从左子树中删除值为X的结点
如果插入值等于结点值,若有左右子树,将右子树最小值替代结点值
否则用左或右子树结点值替代结点值
Position Find( BinTree BST, ElementType X )
用递归在根结点与左右子树中查找等于X值的结点
Position FindMin( BinTree BST )
递归在左子树中找最小值
Position FindMax( BinTree BST )
递归在右子树中找最大值

2.代码截图



3. PTA提交列表说明


编译错误:在C头文件下使用C++的new函数
解决方法:将new函数改为malloc函数

题目2:7-1 QQ帐户的申请与登陆

1. 设计思路

输入命令、QQ号和密码
帐户申请若账号不存在则申请成功,输出“New: OK”
若申请的号码已经存在,则输出“ERROR: Exist”
若老帐户登陆成功,则输出“Login: OK”
若老帐户QQ号码不存在,则输出“ERROR: Not Exist”
若老帐户密码错误,则输出“ERROR: Wrong PW”

2.代码截图


3. PTA提交列表说明

题目3:7-2 航空公司VIP客户查询

1. 设计思路

输入身份证号码和里程数
按身份证号查询找到输出里程数
找不到输出“No Info"

2.代码截图

3. PTA提交列表说明


部分正确:身份证号位数过多,查找时间过长,部分情况运行超时

原文地址:https://www.cnblogs.com/lanjinghui/p/9281699.html