首页 > 其他分享 >day 9 二分查找

day 9 二分查找

时间:2023-04-18 12:33:25浏览次数:33  
标签:二分 数列 int mid else flag 查找 day

 1.输入一组有序数列;

2.每次查找序列的中间位置并与目标数比较;

3.依据比较缩小数列,直到找到目标数或数列长度为1;

4.输出;

 

#include<iostream>
using namespace std;
int n,t,flag;
int a[100];
int f(int l, int r)
{
while(l<r)
{
int mid =l+r>>1;
if (a[mid]>=t)r=mid;
else l=mid+1;
}
flag=l;
return a[l];
}
int main(){

cin>>n>>t;

for(int i=0;i<n;i++)cin>>a[i];

if(f(0,n-1)==t){printf("目标数在第%d个",flag+1);}
else{cout<<"Not Found";}
return 0;
}

 

标签:二分,数列,int,mid,else,flag,查找,day
From: https://www.cnblogs.com/drz1145141919810/p/17329148.html

相关文章

  • 学习记录:第二周day05笔记
    一、什么是指针指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存 二、为什么要使用指针1、函数之间内存是相互独立的,但有时候需要函数之间共享变量普通传参是单向值传递全局变......
  • 学习记录:第二周day04笔记
    五子棋数据分析:1、定义棋盘二维数组2、定义角色变量(1?2?)'@'黑棋'$'白棋'*'空3、定义变量用于记录输入的落子位置逻辑分析:考虑是否需要初始化棋盘 for(;;) {   1、清屏、打印棋盘   2、落子     判断是否超范围如果是则提示非法并重新落......
  • 学习记录:第四周day01笔记
    结构:结构是由程序员自己设计的一种数据类型,用于描述一种事务的各项数据,由若干个不同的基础类型组成设计:struct结构体类型名{类型名成员名...};定义:struct结构体类型名结构体变量名;注意:C语言中定义结构体变量时,struct关键字不能省初始化:struct结构体类......
  • 学习记录:第四周day02笔记
    文件的分类文本文件:是人能看懂的文件,存储的是字符符号的ASCII码的二进制二进制文件:存储的是数据的补码的二进制 文件IOFILE*fopen(constchar*path,constchar*mode);功能:打开或创建文件参数:path:文件的路径,以字符串形式提供mode:打开模式,以字符串形式提供r......
  • 学习记录:第三周day04笔记
    预处理指令分类:条件编译根据条件决定让代码是否参与最终的编译版本控制、代码注释#if#elif#else#endif #include<stdio.h> ​ #defineVERSION3 ​ intmain() { //版本控制 #ifVERSION>2   printf("最新版本!\n"); #elifVERSION>1   pr......
  • 学习记录:第三周day03笔记
    通讯录项目:姓名、性别、电话,最多存储50个联系人功能:1、添加新联系人2、按名字删除联系人3、按名字修改联系人4、查找联系人,名字或电话,支持模糊查询5、显示所有联系人信息6、退出系统  预处理指令:程序员所编写的代码不能被真正的编译器所编译,需要先经过一段......
  • 学习记录:第三周day02笔记
    一、字符串字符:人能看懂的符号或图案,在内存中以整数形式存储,根据ASCII码表中的对应关系显示相应的符号或图案'\0'0空字符'0'48'A'65'a'97串:是一种数据结构,存储类型相同的若干个数据;对于串型结构的处理是批量性的,会从头开始直到遇到结束标志 voidshow_arr(int......
  • STATA 遍历查找
    sscinstallelabel,replacesysuseauto,clearused:\statashu\2\cgss2015,clearforeachvofvarlist_all{cap:sdecode`v',replace}usecgss2015-2,replacelocalk=_Nforeachvarofvarlist_all{locala:varlabel`var'//disp&qu......
  • T-SQL基础教程Day3
    第三章联接3.1交叉联接交叉联接是最简单的联接类型。交叉联接仅执行一个逻辑查询处理阶段——笛卡尔乘积将一个输入表的每一行与另一个表的所有行匹配SQLServer支持交叉联接的两种标准语法:ANSISQL-92和ANSISQL-89语法,建议使用ANSISQL-92语法3.1.1ANSISQL-92语法SELECTC.cu......
  • Java-Day-10(Object 常用类 + JDK 源码 + 断点调试)
    Java-Day-10Object常用类equals方法==与equals==是一个比较运算符既可以判断基本类型,又可以判断引用类型如果判断基本类型,判断的是值是否相等如果判断引用类型,判断的就是地址是否相同,即判断是否是一个对象equals是Object类中的方法,只能判断引用类型默认......