C++的一道程序题关于二分搜寻法,希望大神们帮忙解答下,谢谢!

一开始先定义一个结构:structStudentRec{stringNamestringID;doubleGPA;}然后读取一个文档students.txt,文档里的是这... 一开始先定义一个结构:
struct StudentRec
{
string Name
string ID;
double GPA;
}
然后读取一个文档students.txt,文档里的是这样的(姓名 ID GPA):
Zhang San M122568 3.86
Li Si M113478 3.25
Wang Wu M123456 3.36
要求输入ID后用二分搜寻法搜寻,如果找到则显示该学生的三条信息,没找到则显示“无效的ID”
本来ID是乱序的,后来降低难度就把数字排好了~,小弟菜鸟,感谢大神们的帮助!
希望能上下这题的代码~~感谢~~~
展开
 我来答
418704194
2013-03-02 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:158万
展开全部
你用StudentRec这个结构是建立的数组吧
从小到大 你就可以分别设置min和max两个量 分别指向最小和最大
再将ID与(min+max)/2 比较 大 则讲min 重置与(min+max)/2
反正则将max重置为该数 等于 则返回 如果min>=max时则认为没有找到即可
追问
ID里有个M怎么办?
追答
min和max只是数组索引值 不是ID 
比较的时候是数组[min].ID与读入的ID 比较
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式