请教一个程序算法的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 11:12:19
比如定义了一个数组shu(),此数组里的值按从小到大排列,如:
shu(0)=0.12
shu(1)=0.122
shu(2)=0.125
.
.
.
shu(998)=0.954
shu(999)=0.9544
shu(1000)=0.9566
我想输入一个数,比如X=0.459,然后能迅速查出这个值的大小在哪两个数组值之间,比如查出它在shu(521)和shu(522)之间,这个程序算法思路怎么实现呢?开始我想用if判断,感觉太罗嗦,即:
if x>=shu(0) and x<shu(1) then
max=1:min=0
elseif x>=shu(1) and x<shu(2) then
max=2:min=1
.
.
.
end if
这样的话,得写1000个if else,太麻烦,哪位高手有没有好的办法呢?
一楼说的也有点麻烦,比如X值如较大,可能在shu(999)和shu(1000)之间,for循环就得循环判断1000次。这样有点费时间,因为我要查出10000个这样的点。

这样的话,得写1000个if else,太麻烦,哪位高手有没有好的办法呢?
==========================================
哥的数据结构与算法老早就还给老师了,但是明确的告诉你,可以用循环,何必写1000的if else呢

for(int i=0;i<=1000;i++){
if(x>shu[i]&&x<shu[i+1])
System.out.print(x);
}