操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
fakerth1 小时前
【OpenHarmony】startup_init 模块
操作系统·openharmony
大熊猫侯佩12 小时前
升级到 macOS26.5 后看视频会自动息屏的解决
macos·操作系统
sulikey2 天前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·
手可摘星辰的少年2 天前
Ext2文件系统核心结构详解:超级块、位图、Inode与多级间接块
操作系统
星马梦缘2 天前
操作系统实验5 —— 进程互斥
linux·操作系统·进程互斥
iCxhust3 天前
从裸机到微内核:8088单板机微型操作系统规划设计
操作系统·课程设计·微机原理·8086最小系统·8088单板机
磊 子4 天前
1.2内存的存储金字塔
java·开发语言·spring·操作系统
sulikey4 天前
Linux ext2文件系统结构
linux·操作系统·文件系统·linux文件系统·ext2·ext2文件系统
-To be number.wan4 天前
进程与线程的区别
学习·操作系统
sulikey4 天前
ext2 GDT 块组描述符表 详细技术拆解
linux·操作系统·文件系统·ext2·gdt·ext·块组描述符