In order to increase the efficiency of your linear searching, add the item you are searching at the end of the list (either an array or linked list) and write the following code for searching:
BOOL Find(const int *pAListWithSearchedItemAtTheEnd, int nlength){ for (int i=0;; i++) { if (pAListWithSearchedItemAtTheEnd[i] ==pAListWithSearchedItemAtTheEnd[nlength-1]) break; } if (i==nlength-1) return FALSE; else return TRUE;}
size=3>
By adding the searched item at the end of the list, the loop boundary checking is avoided and hence one comparison statement per loop iteration is saved as the searched item will be found at the end, if not found anywhere else in the list.