首页 > 其他分享 >11th

11th

时间:2023-04-25 16:22:36浏览次数:19  
标签:right cout int mid else 11th left

二分查找

作为一个比较重要的算法 

比如 对一个升序序列

1 2 3 4 5 6 7;

想要知道 某一个数 的位置 或者是下标

第一步 设立 左 中 右

 int left ,mid,right;

让左中右分别指向 左边 中间 右边

left=0,right=7,mid =(left+right)/2 

当 mid 这个数所指的这个数 比所想要找的数小

则就将 left 右移 指向 mid+1

mid=(left+right)/2

or

将 right 左移到mid-1

mid =(left+right)/2;

以此类推

#include <iostream>
using namespace std;
int n=7;
int main(){
//二分查找
int right,left,mid;
int a[n]={1,2,3,4,5,6,7};
int m;
cin>>m;
int k;
left=0,right=n-1;
while(left<=right){
mid=(left+right)/2;
if(a[mid]<m){
left=mid+1;
continue;
}
else if (a[mid]>m){
right=mid-1;
continue;
}
else{k=mid;
break;
}
}
if(k>=0)
cout<<k;
else
cout<<"no found";
return 0;

}

标签:right,cout,int,mid,else,11th,left
From: https://www.cnblogs.com/wcy1111/p/17352965.html

相关文章

  • 11th Feb
    1、单例模式:---饿汉式 单例有问题,结果不一样:32min的时候就不明白了静态内部类都不会被加载???bilibili.com/video/BV1UA411G7YN/?p=2&spm_id_from=pageDriver&vd_so......
  • 【补档 11th Jan】 2283 判断一个数的数字计数是否等于数位的值(每日一题)
    【补档11thJan】2283判断一个数的数字计数是否等于数位的值(每日一题)​ 给你一个下标从0开始长度为n的字符串num,它只包含数字。如果对于每个0<=i<n的下......
  • 11th 2022/7/11 模拟赛总结6
    这次可能还行吧,200pts,还进行了核酸,rank7,还凑合这次对于暴力是真的没有耐心,T3T4暴力打炸,全0但是。。。T1T2全A了,还行吧,T2是最小生成树,好久没打了,手推了0.5h,拿到100分,而T1......