操作系统==二分查找

文章目录

概述

最近看到操作系统的一些代码,觉得蛮有意思,拿出来看看,今天看下二分查找的。

二分查找

二分查找,又叫折半查找,可以参考以前写的文章,二分查找

代码

操作系统的二分查找,代码如下:

cpp 复制代码
void *bsearch(const void *key, const void *base, size_t num, size_t size,
	      int (*cmp)(const void *key, const void *elt))
{
	const char *pivot;
	int result;

	while (num > 0) {
		pivot = base + (num >> 1) * size;
		result = cmp(key, pivot);

		if (result == 0)
			return (void *)pivot;

		if (result > 0) {
			base = pivot + size;
			num--;
		}
		num >>= 1;
	}

	return NULL;
}
EXPORT_SYMBOL(bsearch);

小结

本篇写了操作系统的一个二分查找的代码,可以参考下之前的代码,当然,操作系统是对c++写的,有兴趣,可以看看这里。操作系统的二分查找,还是很有意思的,应用范围也更广。可以看看,OK,这篇结束。

相关推荐
Tairitsu_H1 天前
[LC优选算法#6] 二分 | ⼆分查找 | 元素首尾位置 | 搜索插入位置 | x的平方根
c++·算法·二分查找
fakerth2 天前
【OpenHarmony】communication_ipc模块
操作系统·openharmony
Coisinier2 天前
RHCE中shell脚本基础(磁盘剩余空间监控,Web 服务状态检查,curl 访问 Web 服务并返回状态)
linux·运维·服务器·前端·nginx·操作系统
小宇子2B3 天前
free 完再 malloc 同样大小,为什么常拿回刚还回去的那块?
操作系统
触底反弹5 天前
拷个 .exe 到新电脑就跑不起来?你缺的不是文件,是对链接的理解
c++·windows·操作系统
杊页5 天前
第一板块:Android 系统基石与运行原理 | 第二篇:Android 编译、打包与安装机制
android·操作系统
壮Sir不壮5 天前
GO语言——GMP调度模型
linux·开发语言·golang·go·操作系统·线程·协程
Surest5 天前
OpenHarmony 技术拆解(二):从 capability 看懂分布式软总线与任务迁移
操作系统
OpenAnolis小助手6 天前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥
8Qi87 天前
LeetCode 4:寻找两个正序数组的中位数 —— 二分查找法
java·算法·leetcode·职场和发展·二分查找