c语言二分查找泛型实现
来源:互联网 发布:微信开发入门教程 php 编辑:程序博客网 时间:2024/05/22 17:19
int intCmp(const void *lhs, const void *rhs){ int a = *(int*)lhs; int b = *(int*)rhs; if (a > b) return 1;else if (a == b) return 0;else return -1;}int bSearch(void *array, const void *elem, const int elemSize, const int arraySize, int (*cmp)(const void *lhs, const void *rhs)){ int left = 0; int right = arraySize - 1; while (left <= right) { int mid = (left + right)/2; char *tmp = (char *)array; int result = cmp(elem, tmp+mid*elemSize); if (result == 0) return mid;else if (result > 0) left = mid + 1;else right = mid - 1; } return -1;}
实现中cmp回调实现是需要知道泛型的实际类型,可以用memcmp替换该函数。
0 0
- c语言二分查找泛型实现
- C语言实现二分查找
- 二分查找 c语言实现
- 二分查找C语言实现
- C语言实现二分查找
- c语言 实现二分查找
- c语言实现二分查找
- C语言实现二分查找算法
- C语言实现二分查找算法
- 二分查找的C语言实现
- c语言利用递归实现二分查找
- 二分查找算法的C语言实现
- c语言实现二分查找算法
- 用C语言实现二分查找算法
- 用C语言实现二分查找
- c语言实现二分查找变种题型
- C语言 ---- 递归实现二分查找
- 二分查找(C语言实现)
- git使用
- 关于JS实现延迟加载
- aopalliance解析(一) 概述
- 从马叔谈学习
- AC自动机代码
- c语言二分查找泛型实现
- (工具类)MD5算法|时间格式转换|字符串转数字
- OpenWrt之PPPoE拨号
- android 蓝牙各种UUID
- source insight——编码工具中的一朵奇葩
- 在DefaultAnnotationHandlerMapping中使用拦截器
- iOS_3_图片浏览
- 投票系统之防止重复投票
- 敏捷转型 - 团队(一)