1.二分查找。设有n个元素的集合a[0]~a[n-1]是从小到大有序的,设计算法从这n个元素中找出值为x的特定元素。数组初始化为:{7 14 18 21 23 29 31 35 38 42},查找x为14,31,99,分别给出查找结果。
时间: 2024-05-25 20:16:14 浏览: 79
算法如下:
1.初始化左指针left为0,右指针right为n-1。
2.当left<=right时,执行以下操作:
(1)计算中间位置mid=(left+right)/2。
(2)如果a[mid]==x,返回mid。
(3)如果a[mid]<x,说明要查找的元素在mid右边,则将left=mid+1。
(4)如果a[mid]>x,说明要查找的元素在mid左边,则将right=mid-1。
3.如果没有找到,返回-1。
根据上述算法,查找x为14,31,99的结果如下:
查找14,返回1。
查找31,返回6。
查找99,返回-1,表示没有找到。
阅读全文