/* Linear Search demo */ #include /* Modified Fig 8.15 * Searches for target item in array list. * length is the number of items to search (usually the array size). * Returns index of target or kNotFound * Assumes: length > 0 */ #define kNotFound -1 /* Value returned if target not found */ int search(const int list[], /* array to search */ int target, /* value searched for */ int length) /* number of array elements to search */ { int current; /* index of current item being examined */ int where = kNotFound; /* index where target found */ /* Compares each element to target */ current = 0; while (list[current] != target && current < length) { current = current + 1; } /* Returns index of element matching target or kNotFound */ if (current < length) { where = current; } return (where); } int main(void) { int numbers[10]={5,3,7,9,24,-45,8,23,9,10}; printf("%d\n", search(numbers, 7, 10)); printf("%d\n", search(numbers, 6, 10)); printf("%d\n", search(numbers, 9, 3)); return 0; } /* Expected output: 2 -1 -1 */