c语言:用二分查找算法,查找有序数组的下标

简介: c语言:用二分查找算法,查找有序数组的下标
#include<stdio.h>
int main()
{
  int arr[] = { 1,2,3,4,5,6,7,8,9 };
  int k = 7;
  int sz = sizeof(arr) / sizeof(arr[0]);
  int left = 0;
  int right = sz - 1;
  while (left<=k)
  {
    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("找不到\n");
  }
  return 0;
}
目录
相关文章
|
2月前
|
自然语言处理 算法 搜索推荐
C语言中谈论算法
C语言中谈论算法
11 0
C语言中谈论算法
|
2月前
|
算法 安全 C语言
使用C语言实现DES算法代码
使用C语言实现DES算法代码
|
2月前
|
存储 算法 索引
【优选算法】—— 二分查找
【优选算法】—— 二分查找
|
5天前
|
算法 C语言
【C语言必刷题】3.二分查找
【C语言必刷题】3.二分查找
|
10天前
|
算法 搜索推荐 C语言
C语言用流程图表示算法
C语言用流程图表示算法
16 0
|
23天前
|
算法 测试技术 Serverless
【二分查找】【C++算法】378. 有序矩阵中第 K 小的元素
【二分查找】【C++算法】378. 有序矩阵中第 K 小的元素
|
23天前
|
算法 测试技术 C#
【字典树】【KMP】【C++算法】3045统计前后缀下标对 II
【字典树】【KMP】【C++算法】3045统计前后缀下标对 II
|
1月前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
1月前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解
|
1月前
|
编译器 程序员 C语言
【C语言】变长数组,二分查找和数组之间自动替换的实现
【C语言】变长数组,二分查找和数组之间自动替换的实现