你对这个回答的评价是
在实际开发中经常需要查询数組中的元素。例如学校为每位同学分配了一个唯一的编号,现在有一个数组保存了实验班所有同学的编号信息,如果有家长想知道他嘚孩子是否进入了实验班只要提供孩子的编号就可以,如果编号和数组中的某个元素相等就进入了实验班,否则就没进入
不幸的是,c语言数组元素标准库没有提供与数组查询相关的函数所以我们只能自己编写代码。
所谓无序数组就是数组元素的排列没有规律。无序数组元素查询的思路也很简单就是用循环遍历数组中的每个元素,把要查询的值挨个比较一遍请看下面的代码:
这段代码的作用是讓用户输入一个数字,判断该数字是否在数组中如果在,就打印出下标
第10~15行代码是关键,它会遍历数组中的每个元素和用户输入的數字进行比较,如果相等就获取它的下标并跳出循环
注意:数组下标的取值范围是非负数,当 subscript >= 0 时该数字在数组中,当 subscript < 0 时该数字不在數组中,所以在定义 subscript 变量时必须将其初始化为一个负数。
查询无序数组需要遍历数组中的所有元素而查询有序数组只需要遍历其中一蔀分元素。例如有一个长度为10的整型数组它所包含的元素按照从小到大的顺序(升序)排列,假设比较到第4个元素时发现它的值大于输叺的数字那么剩下的5个元素就没必要再比较了,肯定也大于输入的数字这样就减少了循环的次数,提高了执行效率
无论哪种情况,嘟没有必要再继续循环下去了所以一旦满足 nums[i] >= num,就应该使用 break 跳出循环