#include <stdio.h>
#define SIZE 100
int linearSearch(const int array[], int key, size_t size);
int main(void) {
int a[SIZE] = {0};
for (size_t x = 0; x < SIZE; ++x) {
a[x] = 2 * x;
}
int searchKey = 36;
int subscript = linearSearch(a, searchKey, SIZE);
if (subscript != -1) {
printf("Found value at subscript %d\n", subscript
); } else {
}
return 0;
}
int linearSearch(const int array[], int key, size_t size) {
if (size == 0) {
return -1;
}
if (array[size - 1] == key) {
return size - 1;
}
return linearSearch(array, key, size - 1);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAxMDAKCmludCBsaW5lYXJTZWFyY2goY29uc3QgaW50IGFycmF5W10sIGludCBrZXksIHNpemVfdCBzaXplKTsKCmludCBtYWluKHZvaWQpIHsKICAgIGludCBhW1NJWkVdID0gezB9OwoKICAgIGZvciAoc2l6ZV90IHggPSAwOyB4IDwgU0laRTsgKyt4KSB7CiAgICAgICAgYVt4XSA9IDIgKiB4OwogICAgfQoKICAgIGludCBzZWFyY2hLZXkgPSAzNjsKICAgIGludCBzdWJzY3JpcHQgPSBsaW5lYXJTZWFyY2goYSwgc2VhcmNoS2V5LCBTSVpFKTsKCiAgICBpZiAoc3Vic2NyaXB0ICE9IC0xKSB7CiAgICAgICAgcHJpbnRmKCJGb3VuZCB2YWx1ZSBhdCBzdWJzY3JpcHQgJWRcbiIsIHN1YnNjcmlwdCk7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiVmFsdWUgbm90IGZvdW5kXG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoKaW50IGxpbmVhclNlYXJjaChjb25zdCBpbnQgYXJyYXlbXSwgaW50IGtleSwgc2l6ZV90IHNpemUpIHsKICAgIGlmIChzaXplID09IDApIHsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CiAgICBpZiAoYXJyYXlbc2l6ZSAtIDFdID09IGtleSkgewogICAgICAgIHJldHVybiBzaXplIC0gMTsKICAgIH0KICAgIHJldHVybiBsaW5lYXJTZWFyY2goYXJyYXksIGtleSwgc2l6ZSAtIDEpOwp9