TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
 Specialized Dev Zones Research Center eBook Library .NET Java C++ Web Dev Architecture Database Security Open Source Enterprise Mobile Special Reports 10-Minute Solutions DevXtra Blogs Slideshow

 Home » Tip Bank » Visual Basic » Algorithms
Language: C
Expertise: Intermediate
Nov 5, 2003

WEBINAR:On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning

Algorithms: A Linear Search

This is a very straightforward loop comparing every element in the array with the key. As soon as an equal value is found, it returns. If the loop finishes without finding a match, the search failed and -1 is returned.

For small arrays, a linear search is a good solution because it's so straightforward. In an array of a million elements, a linear search will take, on average, 500,000 comparisons to find the key. For a much faster search, take a look at binary search. Example:

``````
int linearSearch(int a[], int first, int last, int key) {
// function:
//   Searches a[first]..a[last] for key.
// returns: index of the matching element if it finds key,
//         otherwise  -1.
// parameters:
//   a           in  array of (possibly unsorted) values.
//   first, last in  lower and upper subscript bounds
//   key         in  value to search for.
// returns:
//   index of key, or -1 if key is not in the array.

for (int i=first; i<=last; i++) {
if (key == a[i]) {
return i;
}
}
return -1;    // failed to find key
}
``````
Wael Salman

 Submit a Tip Browse "Visual Basic" Tips Browse All Tips
Thanks for your registration, follow us on our social networks to keep up-to-date