zoukankan      html  css  js  c++  java
  • 二分查找经典题型

     1 #include<stdio.h>
     2 int binserch(int a[],int s,int t,int key)
     3 {
     4     int low=s,high=t,mid;
     5     if(s<=t)
     6     {
     7         mid=low+(high-low)/2;
     8         if(a[mid]==key)
     9         {
    10             return mid;
    11         }
    12         if(a[mid]>key)
    13             return  binserch(a,low,mid-1,key);
    14         else return  binserch(a,mid+1,high,key);
    15     }
    16     return -1;
    17 }
    18 int main()
    19 {
    20     int m;
    21     while(~scanf("%d",&m))
    22     {
    23         int f[100002],n,i;
    24     for(i=1;i<=m;i++)
    25     scanf("%d",&f[i]);
    26     scanf("%d",&n);
    27     if(binserch(f,1,m,n)!=-1)printf("YES
    ");
    28     else printf("NO
    ");
    29     }
    30     return 0;
    31 }
    View Code


     

    数据结构上机实验之二分查找

    Time Limit: 1000MS Memory limit: 65536K

    题目描述

     在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.

    输入

     本题多组数据,首先输入一个数字n,然后输入n个数,数据保证数列递增,然后再输入一个查找数字。

    输出

     若存在输出YES,不存在输出NO.

    示例输入

    4
    1 3 5 8
    3

    示例输出

    YES

    提示

     1 #include<stdio.h>
     2 int binserch(int a[],int s,int t,int key)
     3 {
     4     int low=s,high=t,mid;
     5     if(s<=t)
     6     {
     7         mid=low+(high-low)/2;
     8         if(a[mid]==key)
     9         {
    10             return mid;
    11         }
    12         if(a[mid]>key)
    13             return  binserch(a,low,mid-1,key);
    14         else return  binserch(a,mid+1,high,key);
    15     }
    16     return -1;
    17 }
    18 int main()
    19 {
    20     int m;
    21     while(~scanf("%d",&m))
    22     {
    23         int f[100002],n,i;
    24     for(i=1;i<=m;i++)
    25     scanf("%d",&f[i]);
    26     scanf("%d",&n);
    27     if(binserch(f,1,m,n)!=-1)printf("YES
    ");
    28     else printf("NO
    ");
    29     }
    30     return 0;
    31 }
    View Code
  • 相关阅读:
    迭代器、可迭代对象、生成器
    提问的智慧
    爬虫【自动登陆github和抽屉】
    爬虫【爬取汽车之家新闻】
    Python多线程-守护线程
    Python的多线程
    一个简单的Python多线程
    Python实现SSH传输文件(sftp)
    Python实现SSH连接远程服务器
    实验吧CTF题库-WEB题(部分)
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/3191724.html
Copyright © 2011-2022 走看看