首页 > 试题广场 >

知道数组有序且由小到大排列,采用顺序查找方式从数组int[]

[单选题]

知道数组有序且由小到大排列,采用顺序查找方式从数组int[] a = {22, 33, 44, 55, 66, 77, 88, 99};寻找50,需要循环的次数为

  • 1
  • 3
  • 4
  • 8
遍历第四个数的时候就已经判断到没有了
但是循环次数一次都没循环完呀。
发表于 2019-06-04 16:41:53 回复(0)
int[] a = {22, 33, 44, 55, 66, 77, 88, 99};;//题目输入的数组;
int target =50;//需要查找的参数;
for(int i =0;i<a.length;i++){
     if(target=a[i])return true;//找到返回true,结束循环;
    if(target<a[i])return false;//之前的循环没找到,当前位置的数字又比target大,说明搜索不到;
}
发表于 2019-11-11 12:16:07 回复(0)
由于采用顺序查找,即从数组的第一个元素开始查找:
        第1次:a[0] = 22 < 50, 继续查找;
        第1次:a[0] = 33 < 50, 继续查找;
        第1次:a[0] = 44 < 50, 继续查找;
        第1次:a[0] = 55 > 50, 查找失败,结束;
发表于 2018-08-24 22:45:55 回复(0)
在数组中查找50,题目已知数组有序且由小到大排列,
则第1次查找,50和22比较,比22,继续查找;
则第2次查找,50和33比较,比33,继续查找,;
则第3次查找,50和44比较,比44,继续查找
则第4次查找,50和55比较,比55查找失败,结束查找
编辑于 2018-08-03 16:52:34 回复(0)
for(int i = 0;i<a.size();i++){
    if(a[i]<50) break;
}
循环指的是for语句循环,循环一次,比较一次,而不是整个数组的遍历算一次循环
发表于 2020-08-20 21:23:48 回复(0)
题目应严谨的告知每次循环只比较一次,否则会出现歧义的。
发表于 2020-06-06 23:35:17 回复(0)
一层循环,四次循环
发表于 2019-07-30 16:45:25 回复(0)
这题个人认为不严谨,如果数组中第一个元素就大于50,就一次也不会进入循环体,当判断条件55 > 50的时候没有进入循环体就退出了,就执行了三次循环。
编辑于 2019-05-28 17:29:47 回复(2)