Consider the following data structure used for implementing a linked list: struct Node { int data; Node *next; }; Implement the function that takes a pointer to the first node of a linked list and an integer value as arguments. It returns -1 if the input value is not equal to the data value of any item in the list. Otherwise, it returns the location of an item in the list whose data value is equal to the input value. Assume that the location of the first item in the list is 0. int searchList(Node *head, int value) { // write the function body Solution Example of seeking the position of an item in a list int searchList(Node *head, int value) { Node *temp; // temportal Variable of node of the head of the list temp = head; // copy the top of the list int pos = 0; // We initialize the return value if you find the item in any position from the list while(temp){ // verify that while null is different from the temporary variable will check the items // if the item in the list is equal to the value we return sought the position in which it was found if (temp->data == value) return pos; // we return the position pos++; // while we do not get the items we continue down the list temp = temp->next; } return -1; // if we do not find the item in the list we return -1 } .