二分法查找

原创 2006年06月12日 13:32:00

#include <iostream.h>
#include <stdio.h>
#include <windows.h>
int erfen(int sum[],int x,int n){
 int front=0,rear=n-1;
 while(n/2+1){                          //设置为n/2+1以减小时间复杂度
  if(sum[(front+rear)/2]>x){        //如果这个数在前半部分
   rear=(front+rear)/2;
   n--;
  }
   else if(sum[(front+rear)/2]<x){//如果这个数在后半部分
    front=(front+rear)/2+1;
    n--;
   }
   else if(x==sum[(front+rear)/2]){//如果找到这个数了
    return (front+rear)/2+1;
    n--;
        break;
   }

 }
 if((n/2+1)==0){                            //判断是否找到了
   printf("not find/n");
   exit(0);
   return 0;   
  }
}

 


void main(){
 int sum[9]={10,11,12,13,14,15,16,17,18},res;
 int i=0;
 cout<<"请输入你要查找的数:"<<endl;
 cin>>i;
 res=erfen(sum,i,9);
 cout<<"第"<<res<<"个"<<endl;
}
 
运行结果:

请输入你要查找的数:

15

第六个

二分法查找C++实现

#include #include using namespace std;int binary_seacher(vector &v, int target) { if (v.empty(...
  • qq_16209077
  • qq_16209077
  • 2016年09月27日 15:28
  • 14506

实现二分法查找(递归实现)

递归实现二分法查找:#include #include void main(){ int doubleCheck(int a, int b, int c, int d[]); int d[]...
  • haha_kai
  • haha_kai
  • 2016年11月27日 09:12
  • 820

Scala、PHP、Golang 二分法查找

二分法查找是比较常见的查询算法。对于一个有序序列,注意:是有序序列,找出其中某一个元素,通常的做法是序列中拿出一个一个的元素,每个元素和所需元素作比较,如果是想要的结果,就把元素的序号输出来。例如有序...
  • i6448038
  • i6448038
  • 2016年03月23日 18:22
  • 790

二分法查找的Python实现

代码如下: #!/usr/bin/env python # coding=utf-8 def BinarySearch(t,x): t.sort() #对列表进行排序,列表是有序的,是二分...
  • fcts1230
  • fcts1230
  • 2015年09月27日 22:05
  • 407

写了个二分法查找函数

今日有csdn的网友问到这个问题,所以写了这个函数,如下:二分法查找函数功能:在数组中查找指定的值返回:若查到指定值则返回相应的索引,否则返回-1程序:by Tang 22:06 2005-4-27F...
  • tanaya
  • tanaya
  • 2005年04月27日 22:15
  • 3739

二分法查找C++程序

#define size 5 #include using namespace std; int main() { int i,j; float t...
  • phenixyf
  • phenixyf
  • 2014年12月18日 11:28
  • 941

实现二分法查找——java实现

java实现二分法查找,前提:要求待查找的数组已经是按照升序排好的。 package test; public class test { public static void main(...
  • uniquewonderq
  • uniquewonderq
  • 2015年09月10日 00:07
  • 2655

数据结构 之二分法查找

二分法查找 二分法查找是有一定条件的:代码等如下, /*对于二分法查找有一个最重要的条件就是必须是已经排好序的数组; 数据查找成功返回序列号,否则返回-1*/ #include int di...
  • baidu_24014585
  • baidu_24014585
  • 2016年09月18日 16:49
  • 1241

算法之二分法查找

二分法检索(binary search)又称折半检索,二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组(array)中, 首先将给定值key与字典中间位置上元素的关键码(key)比较,如...
  • huangjuani
  • huangjuani
  • 2015年06月17日 09:04
  • 9360

给定范围的二分法查找

折半查找也称为二分查找,优点是比较次数少,效率高。接下来先贴一段关于给定范围的折半查找代码参考 #define _CRT_SECURE_NO_WARNINGS 1 #include #in...
  • sssssuuuuu666
  • sssssuuuuu666
  • 2017年03月25日 11:25
  • 263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二分法查找
举报原因:
原因补充:

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