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

二分查找

时间:2023-11-18 14:11:19浏览次数:31  
标签:二分 arr int 查找 数组 sizeof

二分查找

#include <stdio.h>

int main(void) {
    int arr[] = {-2, -1, 0, 1, 2, 3};           //数组
    int l = 0;
    int r = sizeof (arr) / sizeof(int) - 1;     //计算数组的大小,然后 - 1就是最右侧的下标
    int m, n;
    
    scanf("%d", &n);        //输入要查找的元素
    while (l <= r) {
        m = (l + r) / 2;
        if (arr[m] == n) {
            printf("找到了,是%d, 下标是%d\n", arr[m], m);
            break;
        }
        else if (n > arr[m]) {
            l = m + 1;
        }
        else {
            r = m - 1;
        }
    }
    if (l > r) {
        printf("找不到\n");
    }

    return 0;
}

标签:二分,arr,int,查找,数组,sizeof
From: https://www.cnblogs.com/codels/p/17840426.html

相关文章

  • 二分查找
    二分查找需要满足的条件:用于查找的内容逻辑上来说是需要有序的找的数量只能是一个,而不是多个查找的区间左闭右闭[left,right]左闭右开[left,right)闭区间:是直线上介于固定两点间的所有点的集合(包括给定的两点),用[a,b]来表示(包含两个端点a和b)开区间:指的是......
  • 图论——二分图 学习笔记
    图论——二分图学习笔记定义二分图,又称二部图,英文名叫Bipartitegraph。定义为,一个图,可以将节点划分为两个集合,而集合内部没有相连的边。如图:性质如果对二分图黑白染色,那么每条边两边对应的一定是一个黑点、一个白点;不存在长度为奇数的环,因为只有偶数条边,才能从一个集合......
  • 区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明
    区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。算法设计思路红黑树的拓展在红黑树上维护结点属性\(min,max\):\(min\)表示该结点及其所有后代结点中的区间低端的最小值。\(max\)表示该结点及其所有后代结点中的区间高端的最大值。在插入时,对结点......
  • 二分查找
    1、二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找2、二分查找法的运行时间为对数时间O(㏒₂n),即查找到需要的目标位置最多只需要㏒₂n步,假设从[0,99]的队列(100个数,即n=100)中寻到目标数30,则需要查找步数为㏒₂100,即最多需要查找7次(......
  • 网络流与二分图的常见技巧
    stolouis&Maverikorz!写一些知识点,图论杂题过后单独开一篇。最小割最大流最小割定理对于任意网络\(G=(V,E)\),其上的最大流\(f\)和最小割\(\{S,T\}\)总是满足\(|f|=||S,T||\)。即,最大流在数值上等于最小割。最小割的可行边与必须边同一个网络的最小割......
  • 蓝桥杯管道 -- 二分, 区间覆盖
    蓝桥杯管道--二分,区间覆盖原题链接参照执梗大佬的代码,我太菜了wuwuwu......importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;importjava.util.Scanner;/***ClassName:Main12*Package:*Description:**@author:LH寒酥......
  • 递归遍历树形结构,查找目标元素
    树形结构的数据,即源数据:constorigin={"id":"40953897304457339","name":"一级单位","children":[{"id":"52979376890839070","name":"二级单位1",&qu......
  • 力扣-34-在排序数组中查找元素的第一个和最后一个位置
    一、题目力扣地址:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/二、解法思路:也是二分查找相关题目,详细解法看注释fromtypingimportListclassSolution:"""leetcode:34二分查找类题目,与传统二分查......
  • 力扣-704-二分查找
    一、题目力扣链接:https://leetcode.cn/problems/binary-search/description/二、解法思路标准的二分查找题目,常规上有左闭右闭和左闭右开的解法1、左闭右闭classSolution:"""leetcode:704采用左闭右闭的方式,[left,right]区间的定义这就决定了二分法的代......
  • 二叉搜索树的插入 查找 删除
    //1、定义二叉搜索树类,封装查找、插入、删除操作删除最为麻烦,其中对于parent的保存用循环来记录while的条件需多加考虑#include<queue>#include<iostream>usingnamespacestd;classBinaryTreeNode{  private:  intvalue;  BinaryTreeNode*leftChild;......