i

来自「1、猴子选大王 2、约瑟夫环 3、迷宫求解 4、回文游戏 5、地图四染色」· 代码 · 共 43 行

TXT
43
字号
//折半查找

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#define n 10

int r[n+1];

int Search_Bin(int key)
{
    //在有序表中折半查找其关键字等于key的数据元素。
    //若找到,则函数值为该元素在表中的位置,否则为0 
    int low,high,mid;
    low=1;high=n;
    while(low<=high)
    {
        mid=(low+high)/2;
        if(key==r[mid])return mid;
        else if(key<r[mid])
                high=mid-1;
        else low=mid+1;
    } 
    return 0;
}

int main(int argc, char *argv[])
{
  int k,i,key,j;
  r[0]=0;
  for(k=1;k<=n;k++)
     {r[k]=k;printf("%d  ",r[k]);}
  printf("\n");
  printf("please input the key :");
  scanf("%d",&key);
  j=Search_Bin(key);
  if(j==0)printf("there is no key!");
  else{printf("there is r[%d]=key!",j);}
  system("PAUSE");	
  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?