一、简述
该程序用于在数组中查找目标值 x
的位置。
二、详细代码
#include<iostream>
using namespace std;
int Search(int arr[], int size, int x){
int n = size;
int j = 1;
while(j<=n && x>arr[j-1] )
{
j = j+1;
}
if(x<arr[j-1] || j>n)
{
j = 0 ;
}
cout<<j;
return j;
}
int main()
{
int size;
std::cout<<"Enter size:";
std::cin>>size;
int* arr =new int[size];
int x;
for(int i = 0;i<size;i++)
{
cout<<"arr element:";
cin>>arr[i];
}
cout<<"x:";
cin>>x;
Search(arr,size,x);
delete[] arr;
return 0;
}
三、说明
Search功能
-
Search 函数用于在数组中查找目标值
x
的位置。
参数
-
arr[]
:待搜索的数组。 -
size
:数组的大小。 -
x
:目标值。
变量
-
n:数组的大小。
-
j:当前搜索的位置索引。
算法步骤
-
初始化
j = 1
。 -
使用
while
循环遍历数组,直到找到第一个大于或等于x
的元素,或者遍历完整个数组:-
如果
x > arr[j - 1]
,则继续向后搜索。 -
否则,跳出循环。
-
-
循环结束后,检查是否满足以下条件:
-
如果
x < arr[j - 1]
或j > n
,则将j
设为0
。
-
-
输出
j
的值并返回。