嵌入式学习-02_数据结构和算法 (顺序查找)
1.1 顺序查找
1.1.1 算法原理
顺序查找又称线性查找,是一种基本的查找算法,其原理是:
(1)从头开始遍历:从数据集的起始位置开始,逐个检查每个元素。
(2)比较目标:对于每个遍历到的元素,将其与目标元素进行比较。
(3)查找成功:如果当前元素等于目标元素,则查找成功,返回当前元素的索引。
(4)查找失败:如果遍历完整个数据集仍未找到目标元素,则查找失败,返回一个特殊的标识来表示未找到。
1.1.2 代码实现
#include <stdio.h>
/***********************************************************
* 顺序查找
***********************************************************/
/**
* @brief 查找元素所在的位置
* @param int *arr 数组
* @param int len 数组长度
* @param int target 要查找的元素
* @return int 元素的位置,如果没有找到返回-1
*/
int sequenceSearch(int *arr, int len, int target)
{
//循环遍历数组
for (int i = 0; i < len; i++)
{
if (arr[i] == target)
{
return i;
}
}
return -1;
}
int main()
{
int nums[6] = {10, 11, 7, 89, 23, 19};
printf("89在数组中的位置:%d", sequenceSearch(nums,6,89));
return 0;
}