二分查找

简介: 二分查找
#include <stdio.h>
int main()
{
  int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
  int k = 4;
  int sz = sizeof(arr) / sizeof(arr[0]);  //计算元素个数
  int left = 0;
  int right = sz - 1;
  while (left <= right)
  {
    int mid = (left + right) / 2;
    if (arr[mid] > k)
    {
      right = mid - 1;
    }
    else if (arr[mid] < k)
    {
      left = mid + 1;
    }
    else
    {
      printf("找到了,下标是%d\n",mid);
      break;
    }
    if (left > right)
      printf("找不到");
  }
  return 0;
}

k=4

image.png

k=14

image.png


相关文章
|
9月前
|
算法 索引
二分查找(详解)
二分查找(详解)
|
1月前
|
算法 索引
二分查找(一)
二分查找(一)
|
1月前
|
算法 索引
二分查找(二)
二分查找(二)
|
1月前
|
算法 C++
C++021-C++二分查找
C++021-C++二分查找
C++021-C++二分查找
|
8月前
OI中的二分查找
简要介绍二分查找的优势,思想与做法。
40 0
|
9月前
|
算法 索引
【二分查找】
【二分查找】
|
11月前
|
算法 C语言
这就是二分查找?
本文通过简单的猜数字小游戏向大家介绍二分查找的基本原理。
95 2
|
存储 算法
6-2 二分查找
6-2 二分查找
133 0