操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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,这篇结束。

相关推荐
冬奇Lab9 小时前
开源项目第198期:Omarchy — DHH 打造的「意见鲜明」Linux 桌面系统
人工智能·开源·操作系统
旖旎夜光1 天前
LCR 173:在点名(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
噜~噜~噜~1 天前
操作系统笔记-2.2.6 多处理机调度
笔记·操作系统
旖旎夜光3 天前
LeetCode 69:x 的平方根(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
拂拉氏3 天前
【Linux】 开发工具(Makefile、git、cgdb)解析与对于操作系统的基础认识
linux·git·操作系统·makefile·cgdb
旖旎夜光5 天前
LeetCode 852:山脉数组的峰顶索引(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
程序猿乐锅5 天前
【王道操作系统| 第五章】I/O管理
操作系统
我爱cope6 天前
【操作系统 | 管程、消息通信、屏障与 RCU:并发协作的几种组织方式】
学习·操作系统
程序猿乐锅6 天前
【王道操作系统| 第三章】内存管理
操作系统
mifengxing8 天前
操作系统 文件系统
笔记·操作系统·计算机408