操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
我爱cope2 天前
【操作系统 | 计算机硬件:CPU、内存与 I/O 如何支撑操作系统?】
学习·操作系统
NineData2 天前
NineData 与统信服务器操作系统完成兼容认证
数据库·oracle·操作系统·软件·数据库管理工具·ninedata·统信
DataScience_20193 天前
系统|dup2:文件描述符复制的艺术
操作系统
Tairitsu_H3 天前
[Linux系统] 自动化构建make / Makefile | 进度条
linux·操作系统·makefile·make
我爱cope3 天前
【操作系统 | 开篇:什么是操作系统?从裸机到多任务系统】
学习·操作系统
流浪0013 天前
Linux系统篇36——线程(一) 线程的概念、本质和Linux的实现方式
linux·面试·操作系统·线程
OpenPomeloxCommunity4 天前
Linux驱动基础(三):firmware的声明与加载
linux·操作系统
云计算练习生4 天前
什么是系统调用?为什么程序访问硬件必须经过它
linux·windows·操作系统·系统调用·操作系统原理
玄芯散人4 天前
【筑基·059】Linux命令行入门:工程师的操作系统
linux·操作系统·命令行
云计算练习生6 天前
什么是内核?操作系统内核到底管哪些事
linux·windows·操作系统·内核·shell