操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
云计算练习生38 分钟前
什么是内存分配算法?首次适应、最佳适应、最坏适应
操作系统·内存·内存分配算法·内存算法
imDwAaY44 分钟前
进程之间如何“对话”?一篇讲清六种进程间通信方式
后端·操作系统
MinterFusion2 小时前
如何在开放麒麟(openKylin)下安装GTK(v0.1.0)
linux·操作系统·软件安装·gtk·明德融创·openkylin·linux图形软件开发
Teecertlabs2 小时前
【机密计算顶会解读】15:LDR——面向嵌入式TEE系统的高效安全Linux驱动
linux·操作系统·机密计算·可信执行环境
云计算练习生14 小时前
什么是内存映射(mmap)?文件和内存之间的桥梁
操作系统·内存·内存映射
寻道模式17 小时前
【运维心得】完整教程:绕过Win11限制让老机焕发新生
运维·操作系统·win11
天府云创21 小时前
Agentic开发时代到来——鸿蒙PC三大原生开发工具公测
华为·操作系统·harmonyos·鸿蒙系统·cli·deveco·agentic
imDwAaY1 天前
程序为什么会卡在死锁里?从四个必要条件到预防与解除
后端·操作系统
imDwAaY2 天前
用户态与内核态到底怎么切换?从系统调用到上下文切换
后端·操作系统
imDwAaY2 天前
进程、线程、协程有什么区别?从资源分配到调度,一篇理清
后端·操作系统