标签:ret 二分 使用 har 数据 ted 算法概述 有序 style
1. 二分查找算法概述
二分查找是对一个有序数据集合所做的操作。超找开始时,首先找出有序集合中间的那个元素。如果此元素比要查找的元素大,就接着在较小的一半查找;反之,则在较大的一半查找。
2. 使用二分查找算法的必要条件
① 必须是有序集合
② 元素必须存储在连续的空间
3. 二分查找示例
int Bisearch(void* sorted, void* target, int size, int esize, int (*compare)(const void* key1, const void* key2)) { int left = 0; int right = size - 1; int middle = 0; while(left <= right) { middle = (left + right) / 2; switch(compare(((char*)sorted + (esize * middle)), target)) { case -1: left = middle + 1; break; case 1: right = middle - 1; break; case 0: return middle; } } return -1; }
标签:ret 二分 使用 har 数据 ted 算法概述 有序 style
原文地址:https://www.cnblogs.com/wulei0630/p/9454347.html