Chris_kxt 2018-03-26 05:22 采纳率: 100%
浏览 1557
已结题

求解C++语言编写 急急

7-1 二分查找(20 分)
输入n值(1<=n<=1000)、n个整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。
输入格式:

输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。
输出格式:

输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。

输入样例:

4
1 2 3 4
1
输出样例:

0
2

  • 写回答

4条回答

  • aabond 2018-03-26 06:34
    关注
     #include <iostream>
    
    using namespace std;
    void test(int a[],int n,int v);
    int main()
    {
        int n,i=0,v;
        int a[1000];
        cin>>n;
        while(i!=n)
        {
            cin>>a[i++];
        }
        cin>>v;
        test(a,n,v);
        return 0;
    }
    void test(int a[],int n,int v)
    {
        int i = 0;
        int index = n;
        while(index!=0){
                index/=2;
            if(a[index]==v){
                cout<<index<<"\n"<<i<<"\n";
                return;
            }else
            {
               i++;
            }
        }
        cout<<-1<<"\n"<<i<<"\n";
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)