/*顺序查找*/
int sequence_search(int *a, int num, int x)
{
int i;
for(i = 0; i < num && a[i] != x; i++);
if(i < n) return i;
else return -1;
}
/*二分查找*/
int two_point_search(int *a, int num, int x)
{
int low = 0, high = num - 1;
int mid;
while(i <= j)
{
mid = (low + high) / 2;
if(x == a[mid]) return x;
else if(x < a[mid]) high = mid - 1;
else if(x > a[mid]) low = mid + 1;
}
return -1;
}
/*插值查找*/
/*被查找数据集合有序且分布均匀*/
/*公式:next = low + ((x - a[low]) / (a[high] - a[low])) * (high - low - 1)*/
/*分块查找*/
/*1、查找索引表 2、块内查找,块内可有序可无序*/
有序表查找
最新推荐文章于 2022-08-04 23:41:27 发布