ش | ی | د | س | چ | پ | ج |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
در روش جستجوی خطی ، عنصر مورد جستجو با هر یک از عناصر آرایه مقایسه می شود ، چنانچه دو عنصر برابر بودند ، عمل جستجو به پایان می رسد و اندیس عنصر برگردانده می شود و گرنه مقایسه با عنصر بعدی آرایه انجام می پذیرد . از آنجا که عناصر آرایه نا مرتب می باشند عنصر مورد جستجو در هر کجای آرایه می تواند باشد لذا عمل مقایسه تا یافتن عنصر مورد نظر و یا رسیدن به انتهای آرایه یعنی جستجو در همه عناصر آرایه ادامه می یابد . برنامه زیر نمونه ای از جستجوی خطی در آرایه می باشد :
#include <iostream.h>
int linearSearch(const int [], int, int );
void main()
{
const int arraySize = 7;
int a[ arraySize ]={2,6,4,3,12,10,5};
int searchKey;
cout << "Enter integer search key: ";
cin >> searchKey;
int element=linearSearch(a, searchKey, arraySize);
if ( element != -1 )
cout << "Found value in element "
<< element << endl;
else
cout << "Value not found" << endl;
}
int linearSearch( const int array[],
int key, int sizeOfArray )
{
for ( int j = 0; j < sizeOfArray; j++ )
if ( array[ j ] == key )
return j;
return -1;
}
خروجی برنامه فوق به صورت زیر می باشد :
Enter integer search key: 12
Found value in element 4