要求输入一个数组,数组的大小为5,首先将其按照从小到大的顺序排序。 然后输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出无此数。请问这个问题怎么解?

编写一个采用折半查找法查找数组中的数的小程序。

要求输入一个数组,数组的大小为5,首先将其按照从小到大的顺序排序。

然后输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出无此数。

img

img

img


没带电脑,用手写的,没法调试,你自己可以去调试调试,如果还有错的话,可以私聊问我

大概思路:(建议自己先动手把代码写一下,说不定你上手写着写着思路就来了哦)
1:定义数组,并给数组赋值
(记住是从小到大排列的,假如是乱序的,后面就不能用折半查找法了哦。有的题目是先让你排序,然后再用折半查找)
2:利用数组下标来找出数组的中间元素
3:比较待查找的数和数组中间元素的大小关系。如果待查找元素大于数组中间元素的值,那么待查找元素一定在数组的右半部分或者数组不存在待查找的元素;反之,分布在数组左半部分
4:把数组的左(右)半部分看成一个新的数组,重复步骤3的过程(可以用条件语句➕循环语句来实现)

希望对你有帮助,加油加油!🤓