操作系统==二分查找

文章目录

概述

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

二分查找

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

代码

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

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

相关推荐
moringlightyn1 天前
Linux---进程状态
linux·运维·服务器·笔记·操作系统·c·进程状态
Live&&learn2 天前
数据结构vs 内存结构
数据结构·操作系统·内存结构
序属秋秋秋4 天前
《Linux系统编程之进程基础》【进程状态】
linux·运维·c语言·c++·笔记·操作系统·进程状态
“愿你如星辰如月”5 天前
Linux:进程间通信
linux·运维·服务器·c++·操作系统
晚风吹长发6 天前
二分查找算法+题目详解
c++·算法·二分查找
共享家95276 天前
高级IO-poll
开发语言·操作系统·io
不穿格子的程序员6 天前
从零开始写算法——二分-搜索二维矩阵
线性代数·算法·leetcode·矩阵·二分查找
不穿格子的程序员8 天前
从零开始写算法——二分-寻找旋转排序数组中的最小值
数据结构·算法·leetcode·二分查找
帅锅锅0078 天前
Android 源码学习之init进程
android·架构·操作系统
帅锅锅0078 天前
process 类权限详解
android·操作系统