守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 445|回复: 0

[技术资料] 编程算法之数组二分查找法

[复制链接]
  • TA的每日心情
    慵懒
    2015-4-16 10:25
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    18

    主题

    19

    帖子

    1284

    积分

    版主

    Rank: 16Rank: 16Rank: 16Rank: 16

    威望
    11
    贡献
    0
    金币
    359
    钢镚
    20
    发表于 2015-4-29 22:14:00 | 显示全部楼层 |阅读模式
    查找数据,是每个程序员必备的技能,今天介绍一种在数组中快速查找的方法:二分查找法,

    二分法在前面已经介绍过了,取一个数字的中间值,如果不对,再取。。 一直循环到最终的结果。

    此方法比直接在for循环里面循环遍历话费时间要少的多。

    下面介绍一种常见的二分查找法。

    1.     // 编程算法之数组二分查找法.cpp : 定义控制台应用程序的入口点。  
    2.     //  
    3.       
    4.     #include "stdafx.h"  
    5.     #include <iostream>  
    6.       
    7.     int arrNum[1024];  
    8.       
    9.     int seachNum = 733;  
    10.       
    11.     int start = 0;  
    12.     int end = 1023;  
    13.       
    14.     int middle;  
    15.       
    16.     int _tmain(int argc, _TCHAR* argv[])  
    17.     {  
    18.       
    19.         for (int i = 0; i < 1024; i++)  
    20.         {  
    21.             arrNum[i] = i;  
    22.         }  
    23.       
    24.         while (start<end)  
    25.         {  
    26.             middle = (start+end)/2;  
    27.             if (seachNum ==arrNum[middle] )  
    28.             {  
    29.                 printf("find it%d\n",middle);  
    30.                 break;  
    31.             }  
    32.             else if (seachNum>arrNum[middle])  
    33.             {  
    34.                 start = middle+1;  
    35.             }  
    36.             else  
    37.             {  
    38.                 end = middle-1;  
    39.             }  
    40.             printf("start=%d midlle=%d end=%d\n",start ,middle,end);  
    41.         }  
    42.       
    43.          
    44.         return 0;  
    45.     }  
    复制代码
    blog.csdn.net/yaoyuan0701/article/details/45292747
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-11-21 11:19 , Processed in 0.042660 second(s), 30 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表