4324: 【二分】二分查找

题目描述
给出n个已经从小到大排好序的整数,一个整数x在这个序列中的位置,找不到请输出no。
输入
第一行一个整数n 1<=n<=100000。
第二行 为n个从小到大排序的整数。
第三行为要查找的整数x
输出
每行为一个结果。找到输出位置,找不到输出"no"。
样例
输入 复制
5
1 2 4 5 6
4
输出 复制
3

二分查找很快么?因为需要事先排序,二分查找我个人认为不是很实用的查找方案。
对于大型数据,排序很耗时,如果是动态的、则有可能无法实现。
可以考虑:
根据使用需求,建立若干数据聚落,可以使用编写规则代码或者正则的方式实现;
查找数据时,可以在对应的聚落之中查找,通常使用一般的扫描方式应该就能够满足速度需求;
增添数据时,只需要把数据加入到正确的聚落中,应该能够自动化实现操作。