zoukankan      html  css  js  c++  java
  • 二分查找

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

    Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

    题目描述

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

    输入

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

    输出

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

    示例输入

    4
    1 3 5 8
    3

    示例输出

    YES
    #include<stdio.h>
    int a[10000000];开数组是定义全局变量;
    int main()
    {
        int key, n, i;
        int low, high, mid;
       while( ~scanf("%d", &n))// 第一次没考虑多组输入;
       {
           int k=0;//应把k放在while循环里,每次输入n时都得初始化k;
    
        low = 1;
        high = n;
        for(i=1; i<=n; i++)
            scanf("%d", &a[i]);
        scanf("%d", &key);
        while(low<=high)
        {
            mid = (low+high)/2;
            if(key==a[mid])
            {
                k = mid; break;
            }
            else if(key<a[mid])
                high = mid -1;
            else
                low = mid + 1;
        }
    
        if(k!=0)
            printf("YES
    ");
        else
            printf("NO
    ");
       }
        return 0;
    }
    

    每天训练发现我比别人做的好慢,但是理解的更深刻,如果一开始学一个新知识点就搜模板,那么这样的人是走不远的,毕业之后带走的只有思维,什么荣誉,奖杯都已经不重要了。
  • 相关阅读:
    java往文本文件中写入信息并修改
    idea中写servlet时报错--关于405错误
    关于引入js文件乱码的问题
    关于HTML的引入CSS文件问题
    后缀算法
    vim中 E212:无法打开并写入文件的解决办法
    Restful风格API
    Restful概念
    Andriod实现推送的解决方案(转)
    IOS系统推送原理
  • 原文地址:https://www.cnblogs.com/6bing/p/3931309.html
Copyright © 2011-2022 走看看