介绍:
顺序查找算法又称顺序搜索算法或者线性搜索算法,是所有查找算法中最基本、最简单的,对应的时间复杂度为O(n)
。
顺序查找算法适用于绝大多数场景,既可以在有序序列中查找目标元素,也可以在无序序列中查找目标元素。
算法思路:
所谓顺序查找,指的是从待查找序列中的第一个元素开始,查看各个元素是否为要找的目标元素。
举个简单的例子,采用顺序查找算法在 {10,14,19,26,27,31,33,35,42,44} 序列中查找 33,整个查找过程如下图所示:
代码展示:
#define LENGTH 10
int the_linear_search(int* arr,int num)
{
for (int i = 1; i < LENGTH; i++)
{
if (arr[i] == num)
{
return i;
}
}
return -1;
}
int main()
{
int ret = the_linear_search(arr,33);
if(ret != -1)
{
printf("find it,下标是:%d\n",ret);
}
else
{
printf("can't find it");
}
return 0;
}