操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
望获linux15 小时前
【实时Linux实战系列】实时系统的调试技术
linux·运维·服务器·网络·数据库·操作系统·嵌入式软件
DoraBigHead16 小时前
进程的内存是怎么分的?深入解析内存管理的秘密工事
操作系统
望获linux17 小时前
【Linux基础知识系列】第五十四篇 - 网络协议基础:TCP/IP
java·linux·服务器·开发语言·架构·操作系统·嵌入式软件
、BeYourself1 天前
死锁的避免
操作系统
CYRUS_STUDIO2 天前
深入 Android syscall 实现:内联汇编系统调用 + NDK 汇编构建
android·操作系统·汇编语言
LUCIAZZZ3 天前
高性能网络模式-Reactor和Preactor
java·服务器·开发语言·网络·操作系统·计算机系统
喧星Aries3 天前
内存的基础相关知识,什么是内存,内存管理
操作系统·内存·计算机组成原理
DoraBigHead3 天前
进程之间怎么聊天?信号、管道、共享内存、Socket 大乱斗!
操作系统
喧星Aries3 天前
进程的内存映像,只读区,可读写区,堆,共享库,栈详解
linux·操作系统·计算机组成原理
半桔3 天前
【Linux手册】重定向是如何实现的?Linux下为什么一切皆文件?
linux·运维·服务器·面试·系统架构·操作系统