新疆软件开发

本站首页 软件开发 成功案例 公司新闻 公司简介 客服中心 软件技术 网站建设
  您现在的位置: 新疆二域软件开发公司 >> 开发语言 >> 文章正文

“海”数据里寻一个数

 n个数据用一数组a描述,查找对象用x描述。
    我们可以将n个数据与查找对象依次比较,可能找到,也可能找不到。这是一种顺序查找的方法,请读者编程实现。
    比顺序查找进一步的是折半查找,或称二分查找法。折半查找要求n个数据已排好序,排序的目的就是为了快速查找。假定n个数据已经由小到大排好序。查找到的数据用其下标k描述。是否找到用一标志变量flag描述。
    查找问题转化成在区间[O,n一1]找k。先计算其中点d,如果a[d]一x,则k—d;如果a[d]>x,则查找区间缩小为[O,d];如果a[d]<x,则查找区间缩小为[d,n一1]。要么找到,要么查找区间缩小一半,首发中国足协编程网继续折半查找。
    程序如下:
    float serach(a,n,x)/*折半查找函数*/
    float a[],x;
    int n:
    {int k,flag;
    int b=O,e=n一1,d;
    flag=O;
    do
    {d=(b+e)/2;
    if(a[d]==x){k=d;flag=1;}
    else if(a[d]>x)e=d;
    else b=d:
    )while(b<e&&!flag);
    if(flag==O)k=O;/*没找到*/
    return(k);
    }
作者:未知 | 文章来源:未知 | 更新时间:2007-12-26 17:25:08

  • 上一篇文章:

  • 下一篇文章:

  • 相关文章:
    没有相关文章
    软件技术
    · 开发语言
    · Java技术
    · .Net技术
    · 数据库开发
    最新文章  
    ·搜集整理的asp.net的验证方
    ·各种FOR循环结构的整理
    ·软件项目开发中应该考虑那
    ·搜集整理的javascript sel
    ·软件开发中项目经理有那些
    ·学习如何在Lambda表达式进
    ·C++基础知识:结构体数据的
    ·C#实现短信发送程序的例子
    ·sun最近修补了一部分java的
    ·rss定制的另外一种实现方式
    ·delphi实现利用arp欺骗来实
    ·基础学习:基于WF的流程框
    ·网络编程中怎样得知一次数
    ·如何逆序输出单链表?
    ·软件开发过程中的性能设计
    关于我们 | 软件开发 | 下载试用 | 客服中心 | 联系我们 | 友情链接 | 网站地图 | 新疆电子地图 | RSS订阅
    版权所有 © 2016 新疆二域软件开发网 www.k8w.net All Rights Reserved 新ICP备14003571号
    新疆软件开发总机:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆乌鲁木齐北京中路华联大厦A-5C 邮编:830000