首页 > 其他分享 >8621 二分查找

8621 二分查找

时间:2024-06-08 19:31:00浏览次数:10  
标签:二分 输出 int 8621 element 查找 key 输入

Description

 编写Search_Bin函数,实现在一个递增有序数组ST中采用折半查找法确定元素位置的算法.

输入格式

第一行:元素个数n 
第二行:依次输入n个元素的值(有序) 
第三行:输入要查找的关键字key的值

输出格式

输出分两种情形: 
1.如果key值存在,则输出其在表中的位置x(表位置从0开始),格式为The element position is x. 
2.如果key值不存在输出:"The element is not exist."

输入样例

6
1 3 5 7 9 10
5

输出样例

The element position is 2.
#include<stdio.h>
int main()
{
    int n,key;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d",&key);
    int low,mid,high;
    low=0;
    high=n-1;
    while(low<=high)    //注意是<=,如果仅<的话会忽略临界值
    {
        mid=(low+high)/2;
        if(key>a[mid])
        {
            low=mid+1;
        }
        if(key<a[mid])
        {
            high=mid-1;
        }
        if(key==a[mid])
        {
            printf("The element position is %d.\n",mid);
            return 0;
        }
    }
    printf("The element is not exist.\n");
    return 0;
}

标签:二分,输出,int,8621,element,查找,key,输入
From: https://blog.csdn.net/Caitlin_lee_/article/details/139546370

相关文章

  • C++ 6.8笔记:①判断质数②二分基础算法
    质数试除法判定质数boolprimes(intx){  if(x<2)returnfalse;  for(inti=2;i<=x/i;i++){    if(x%i==0)returnfalse;  }  returntrue;}埃筛1intp[N],k,n;boolf[N];voidprimes(intn){//埃筛,思想:质数的倍数是合数for(inti......
  • Net AI学习笔记系列第五章 OpenCVSharp实操——图片中物体轮廓查找描绘
    .NetAI学习笔记系列第五章OpenCVSharp实操——图片中物体轮廓查找描绘文章目录.NetAI学习笔记系列前言一、OpenCVSharp实操——图片中物体轮廓查找描绘二、步骤1.开发工具2.引入库3.示例代码4.运行效果总结前言本文主要介绍使用OpenCVSharp中的FindContours......
  • 二分查找相关题目(c++)
    1.元素编号输入 n个单调不减的(就是后面的数字不小于前面的数字)非负整数a1​,a2​,…,an​​,然后进行 m次询问。对于每次询问,给出一个整数 q,要求输出数列中第一个大于等于q的数字的编号。(若未找到则默认输出-1)输入共3行:第1行,2个整数n和m,表示数字个数和询问次数;......
  • P10466 邻值查找 题解
    题目传送门前置知识二叉搜索树&平衡树解法笔者写这篇题解的时候题面应该是出锅了,建议去看Acwing的题面。第一问同luoguP2234[HNOI2002]营业额统计,平衡树维护前驱、后继(非严格意义上的)求出差值后取\(\min\)即可;第二问用map实现一个映射即可维护位置。代码#incl......
  • PyTorch实现二分类任务
    importtorchimporttorch.nnasnnimporttorch.optimasoptim'''定义模拟数据集'''inputs=torch.randn(5,10)#定义5个样本,每个样本的特征数位10labels=torch.tensor([0,1,0,1,1])#每个样本的标签,二分类,所以为0或1'''定义模型''......
  • 列举常见的排序和查找算法
    在编程和算法设计中,排序和查找算法是非常基础和重要的。以下是常见的一些排序和查找算法:排序算法冒泡排序(BubbleSort)原理:重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序......
  • 关于Solidity脚本相关环境配置及脚本数据的查找
    来源:在solidity安全中心做题时,有些题需要通过脚本进行计算,可以是JavaScript也可以是python的脚本,solidity安全方面初次接触可能不清楚该如何运行solidity的相关脚本。下面我来分开说说JavaScript和Python对应的环境配置python篇:首先确保你的电脑中存在Python环境Python安装......
  • 代码随想录算法训练营第一天 | 704. 二分查找 27. 移除元素
    704.二分查找题目:给定一个n个元素有序的(升序)整型数组和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。提示:1.你可以假设nums中的所有元素是不重复的。2.n将在[1,10000]之间。3.nums的每个元素都将在[-9999,9999]之间。解题:思路:二......
  • 信息学奥赛初赛天天练-20-完善程序-vector数组参数引用传递、二分中值与二分边界应用
    PDF文档公众号回复关键字:2024060512023CSP-J完善程序1完善程序(单选题,每小题3分,共计30分)原有长度为n+1,公差为1等升数列,将数列输到程序的数组时移除了一个元素,导致长度为n的开序数组可能不再连续,除非被移除的是第一个或最后之个元素。需要在数组不连续时,找出......
  • 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素(数组)
    第一次打卡,记录还不够充分,会慢慢丰富起来一、二分查找题目链接:704.二分查找-力扣(LeetCode)讲解链接:Carl讲解视频讲解:代码随想录讲解 情况1:左闭右闭区间情况2:左闭右开区间 二、移除元素题目链接:27.移除元素-力扣(LeetCode)讲解链接:Carl讲解视频讲解:代码随想......