问题:给定n个元素的数组arr [],编写一个函数以搜索arr []中的给定元素x。
C/C++
#include
using namespace std;
// Linearly search x in arr[]. If x is present then return its
// location, otherwise return -1
int search(int arr[], int n, int x)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == x)
return i;
return -1;
}
// Driver code
int main()
{
int arr[] = { 3, 4, 1, 7, 5 };
int n = sizeof(arr) / sizeof(arr[0]);
int x = 4;
int index = search(arr, n, x);
if (index == -1)
cout << "Element is not present in the array";
else
cout << "Element found at position " << index;
return 0;
}
输出:
Element found at position 1
上述算法的时间复杂度为O(n)。
请参阅关于线性搜索的完整文章以了解更多详细信息!
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。