如何高效的将一个数组进行 值范围的划分?
比如: 有个 数组长度 10000,a[] 并且是10000个随机正数。
现在有另外四个数组或容器分别 b,c,d,e ;
b 存放5-100的值
c 存放 500-3000的值
d 存放 4000-6000的值
e 存放 其他(不上以上三个范围的值)。
有什么高效的 算法?
先谢谢了。 我自己的想法 先对 数组a 进行排序使用java 的arrays.sort 的方法排序 然后再用 折半算法 去找范围。想问问大家还有什么其他好的算法?
问题补充
luogui551 写道
难道一个for,外加一个if,两个else if,一个else?
如果 a中的记录有很多 如果100000条 放在 80个划分范围容器里。 对个数组中的对象 要比较80次,100000个对象就要 比较判断 80*100000 效率太低了!