c++:有10个数按从大到小的顺序存放在一个数组中,输入一个数,要求找出该数是数组中第几

2025-03-10 08:30:26
推荐回答(1个)
回答1:

#include 

//在有序数列中返回t的序号p是数列索引的起点,q是索引的终点 
int SearchK(int *Arr, int low, int high, int k) 
{

int mid;
while (low {
mid = (low + high) / 2;

if (Arr[mid] == k)
{
return mid;
}
else
{
if (Arr[mid] < k)//右边查找  
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
}
return -1;//没找到  

}

你参考一下,找到显示索引值,没找到显示-1