码迷,mamicode.com
首页 > 编程语言 > 详细

算法第二章实验报告

时间:2018-10-14 14:04:07      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:心得体会   算法   一个   中间   题目   排列   代码   ddl   end   

实践题目:二分查找

问题描述:

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

算法描述:

    while (left <= right) {
        int middle = (left + right) / 2;               //找到中间
        t++;                                                    //增加搜索次数
        if (key == a[middle])
        {
            cout << middle<<endl;
            cout << t;
            return middle;                                //找到要搜索的数 返回
        }
        if (key > a[middle])left = middle + 1;  //如果要搜索的数比中间大则将左下表移动到原来中间的下一个
        else { right = middle - 1; }                  //如果要搜索的数比中间小则将右下表移动到原来中间的上一个
    }

 

心得体会:

       通过学习二分查找,使我对算法更感兴趣。与同学的交流,也增加了打代码的能力。

算法第二章实验报告

标签:心得体会   算法   一个   中间   题目   排列   代码   ddl   end   

原文地址:https://www.cnblogs.com/sasukeLXQ/p/9785750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!