首页 > 其他分享 >二分查找法与函数

二分查找法与函数

时间:2022-10-25 20:31:41浏览次数:49  
标签:二分 sz arr 函数 int mid 查找 sizeof left

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

                 //这里的arr本质上是一个指针

int binary_search(int arr[], int k, int sz)

{

 

 

 //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)

  {

   left = mid + 1;


  }

  else if (arr[mid] > k)

  {

   right = mid - 1;

  }

  else

  {

   return mid;

  }

 }

return -1;

}

int main()

{

int arr[] = { 1,2,3,4,5,6,7,8,9,10 };

int k = 1;

int sz = sizeof(arr) / sizeof(arr[0]);

int ret = binary_search(arr, k, sz);//这的arr只是传了首元素的地址

 

if (-1==ret)

{

 printf("找不到指定数字\n");

}

else

{

 printf("找到了,下标是:%d\n", ret);

}

return 0;

}

标签:二分,sz,arr,函数,int,mid,查找,sizeof,left
From: https://blog.51cto.com/u_15838933/5795096

相关文章

  • (函数)每调用一次这个函数,就会将num的值增加1
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>voidAdd(int*p){ (*p)++;}intmain(){ intnum=0;  Add(&num); printf("%d\n",num); Add(&num)......
  • 构造函数
    当创建对象时,自动调用构造函数,构造函数名字与类名相同,没有返回类型和返回值一、构造函数作用1.给对象一个标识符2.为数据成员开辟内存空间3.完成数据成员的初始化工作(......
  • 找闰年(函数)
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intis_leap_year(inty){ if((y%4==0&&y%100!=0)||y%400==0) return1; else return0;......
  • mysql常用函数
    mysql函数笔记本章内容会用到的建表语句和表数据--创建t_info表CREATETABLE`t_info`(`id`int(11)NOTNULLAUTO_INCREMENT,`user_name`varchar(30)CHA......
  • python 高阶函数
    概念能把函数当成参数传递的就是高阶函数一、map"""map(func,Iterable)功能:处理数据把Iterable中的数据一个一个拿出来,扔到func函数中做处理,把处理好的......
  • tf怎么创建层函数
    tf.zeros()函数创建一个所有元素都设置为零的张量.tf.zeros([3,4],tf.int32)#[[0,0,0,0],[0,0,0,0],[0,0,0,0]] 函数参数:shape:整数、整数元组或......
  • 仿函数(函数对象)functor的用法
    引子在set的类模板中,插入元素是会自动排序的,那么这是如何实现的呢。默认的set<int> setl;这种写法,他会调用默认的less函数对象less函数对象实现比较,为排序提供依据,se......
  • 友元函数破坏了类的封装和信息隐藏
    在c++中,通过类可以实现数据的封装性和信息隐藏的能力,而友元函数则破坏了类的封装和信息隐藏的能力,使得类的私有属性的成员变量可以被其他类对象的方法直接访问。#include<......
  • 常见的数字和字符串的函数
     数字函数pycharm中使用ctrl+鼠标左键查看详细的函数int将字符串转换为int(注意:input输入的都是字符串即使你输入的是数字,也需要使用int函数将字符串转为为数字)#!/......
  • Python命名空间(函数)
    作用域:作用范围#命名空间:划分一块区域保存所有的数据,以字典方式存储(变量与值形成映射关系)#内建命名空间:解释器启动时创建,直到解释器运行结束,生存周期最长#全局命名空......