折半查找能找两个关键字相同的元素吗?
比如有一个考试的成绩分布表,在数组中按分数从高到低排列,输入关键字 ,用折半查找找到某一分数的学生,但如果有两个学生的分数一样的话,怎么用折半查找才能把两个学生都找到呢?
[解决办法]
用2个游标.
往两边扩展.直到遇到不相等的.
[解决办法]
找到了,就顺延上下两个方向继续查看是不是目标关键字不就行了。
[解决办法]
lower_bound, upper_bound, 简单说就是相等的时候继续搜。
发布时间: 2012-09-01 09:33:03 作者: rapoo
折半查找能找两个关键字相同的元素吗?
比如有一个考试的成绩分布表,在数组中按分数从高到低排列,输入关键字 ,用折半查找找到某一分数的学生,但如果有两个学生的分数一样的话,怎么用折半查找才能把两个学生都找到呢?
[解决办法]
用2个游标.
往两边扩展.直到遇到不相等的.
[解决办法]
找到了,就顺延上下两个方向继续查看是不是目标关键字不就行了。
[解决办法]
lower_bound, upper_bound, 简单说就是相等的时候继续搜。