一.查找
1.二分查找
#include<iostream>
using namespace std;
int select_arr(int arr[], int len, int arr_value)
{
while (1)
{
int left = 0; //数组的左侧下标
int right = len-1; //数组的右侧下标
while (left <= right)
{
int mid = (left + right) / 2; //定义中间位的下标
int mid_value = arr[mid]; //定义中间值的基准值
if (mid_value == arr_value) //如果基准值正好等于要查找的值,则自动返回要找的位置
{
return mid;
}
//如果基准值大于要查找的值,表明值在左半边,新的查找范围为中间值-1位,也就是mid-1
else if (mid_value > arr_value)
{
right = mid - 1;
}
//如果基准值小于要查找的值,表明值在右半边,新的查找范围为中间数+1位,也就是mid+1;
else if (mid_value < arr_value)
{
left = mid + 1;
}
}
return -1;
}
}
int main()
{
int arr[10] = {
1, 3, 5</