操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
liang_jy22 分钟前
文件管理(七)—— 文件系统的层次结构和布局
面试·操作系统
深信达沙箱4 小时前
漏洞修不完、合规过不了?先御OS如何让嵌入式设备‘出厂即合规
arm开发·操作系统·嵌入式操作系统
小宇子2B12 小时前
struct file 不是磁盘文件:一次打开实例和共享偏移
操作系统
liang_jy1 天前
文件管理(六)—— 文件共享和保护
面试·操作系统
liang_jy1 天前
文件管理(五)—— 文件的基本操作
面试·操作系统
小宇子2B2 天前
fd 只是数组下标:`ksys_write()` 怎么找到 `struct file`
操作系统
liang_jy2 天前
文件管理(四)—— 文件存储空间管理
面试·操作系统
liang_jy2 天前
文件管理(三)—— 文件目录
面试·操作系统
小宇子2B2 天前
shrinker:页 LRU 之外的 VFS(虚拟文件系统)缓存怎么回收
操作系统
liang_jy3 天前
文件管理(一)—— 初识文件管理
面试·操作系统