操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
Trouvaille ~15 小时前
【Linux】理解“一切皆文件“与缓冲区机制:Linux文件系统的设计哲学
linux·运维·服务器·操作系统·进程·文件·缓冲区
添砖java‘’2 天前
Linux信号机制详解:从产生到处理
linux·c++·操作系统·信号处理
元亓亓亓2 天前
考研408--操作系统--day9--I/O设备(上)
考研·操作系统·i/o·408
法欧特斯卡雷特2 天前
如何解决 Kotlin/Native 在 Windows 下 main 函数的 args 乱码?
后端·操作系统·编程语言
小林up2 天前
【MIT-OS6.S081作业-4-2】Lab4-traps-Backtrace
操作系统·xv6
fakerth2 天前
【OpenHarmony】USB服务组件
操作系统·openharmony
悄悄敲敲敲3 天前
Linux:信号(二)
linux·操作系统·信号
青春pig头少年3 天前
决战408:OS大题我拿拿拿(非PV)
操作系统·学习笔记·408
fakerth3 天前
【OpenHarmony】日志服务hilog_lite
操作系统·日志·openharmony
小林up3 天前
【MIT-OS6.S081作业-4-1】Lab4-traps-RISC-V assembly
操作系统·xv6