二分搜索代码(c++)

原创 2011年01月08日 14:28:00

#include<iostream>
using namespace std;

template<typename Type>
int BinarySearch(Type a[],const Type& x,int n)   //&x是引用型
{
    int left=0,right=n-1;
    int num=0;                      //测试
    while(left<=right)
    {
        int middle=(left+right)/2;
        cout<<"第"<<++num<<"次:"<<middle<<endl;        //测试
        if(x==a[middle])return middle;
        if(x>a[middle])left=middle+1;
        else right=middle-1;
    }
    return -1;
}

int main()
{
    int a[10]={0,1,2,3,4,5,6,7,8,9},result;
    int x;
    do{
    cout<<"(输入-1结束)请输入要二分搜索的数:";
    cin>>x;
    result=BinarySearch(a,x,10);
    if(result!=-1)
    {
        cout<<"存在数:"<<x<<endl;
    }
    else
    {
        cout<<"不存在数:"<<x<<endl;
    }
    }while(x!=-1);
    return 0;
}

c++二分查找实现(非递归和递归方式)

二分查找思想:1、数组从小到大排序;2、查找的key每次和中间数比较,如果key小于mid 查找mid左侧的数组部分;如果key大于mid,则查找mid右侧的数组部分;如果相等,则直接返回mid。...
  • richerg85
  • richerg85
  • 2014年02月09日 23:15
  • 16747

C++实现二分查找算法

想必二分查找很多人都不陌生,或许说很熟悉,但是在实际生活中又有很多人不能正确的写出它的相应代码,因为二分查找的边界条件等很难控制,下面我们来仔细的分析一下二分查找,这只是个人看法,如有异议,欢迎提出。...
  • Silence723
  • Silence723
  • 2016年07月27日 11:08
  • 3087

c++实现二分查找

简要描述: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。 条件:查找的数组必须要为有序数组。 二分查找的过程剩简要描述如下图: ...
  • luoweifu
  • luoweifu
  • 2013年11月17日 22:25
  • 6213

分治算法--二分搜索

二分查找:以有序表表示静态查找表时,查找函数可以用二分查找(binary search or half-intervalsearch )来实现。这种算法基于分治。...
  • ling_xiao007
  • ling_xiao007
  • 2015年08月03日 14:24
  • 1023

算法入门---java语言实现的二分搜索树小结

图片均来自慕课网,仅仅为了学习记录。 1、二叉查找树(Binary Search Tree)      也可叫做二分查找树。它不仅可以查找数据,还可以高效地插入、删除数据。      特...
  • zy00000000001
  • zy00000000001
  • 2017年04月08日 12:32
  • 764

最大二分图匹配的C++代码实现

最大二分图匹配是典型的图论问题,一般有两种做法,一种是运用最大流的思想,不过这种方法效率太低,为O(VE^2),没有利用好二分图的特殊性质。另一种做法是匈牙利 算法,这种方法也是利用了增益路径的思想...
  • u013708970
  • u013708970
  • 2014年03月18日 18:26
  • 769

二分K均值c++实现

二分k均值原理及Python实现请见: (1)http://blog.csdn.net/u013593585/article/details/51280052 (2)http://blog.csdn....
  • u013593585
  • u013593585
  • 2016年05月12日 21:08
  • 536

分治法-----二分查找

1.问题描述
  • xingchenleidandan
  • xingchenleidandan
  • 2014年12月02日 07:58
  • 1071

二分查找 -- 代码之美

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表...
  • u012410733
  • u012410733
  • 2016年06月05日 22:14
  • 552

查找算法之三分查找

一. 概念 原文:http://blog.csdn.net/beiyouyu/article/details/7875480   在二分查找的基础上,在右区间(或左区间)再进行一次二分,这样的查找算法...
  • u010064842
  • u010064842
  • 2013年04月28日 19:20
  • 3014
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二分搜索代码(c++)
举报原因:
原因补充:

(最多只允许输入30个字)