不使用递归的线性查找的思想是:从数组的第一个元素开始一一遍历数组,如果找到当前被遍历的值与所查找的值相同,则返回当前数组元素的下标;如果到最后一个数组元素还没有找到,则返回-1。
使用递归的思想:
1
int linerSearch(int a[], int key, int size)
2
{
3
if ( size > 0 )
4
{
5
if ( a[ size - 1 ] == key )
6
return size - 1; //反方向,返回下标
7
return linerSearch( a, key, size - 1 );
8
}
9
10
return -1; //未找到
11
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)