Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Suppose that we have a linked list template class named LinkedList, and that we

ID: 3937933 • Letter: S

Question

Suppose that we have a linked list template class named LinkedList, and that we want to write a search member function which will return an integer: -1 if the value is not found, or 0, 1, 2, etc, indicating how far the element is from the head. So if the node at the head contains the value, you would return 0; if it was in the node after that you would return 1; etc. Assume the list is unsorted. The head of the list is stored in the member variable head, and the pointers are of type:

struct ListNode

{

T value;

ListNode *next;

// Constructor

ListNode( T value1, ListNode *next1 = NULL )

{

value = value1;

next = next1;

}

};

Write the code for the search() member function below. There is no need to write the prototype that would appear in the class declaration, just write the code for the function itself. Make sure you read the description of this function! Remember, the head of the list is stored in the member variable head.

template <class T>

int LinkedList<T>::search( T value )

{

}

Explanation / Answer

LinkedList Template function search
The following function search that search for the value
in the linked list and returns the index of the node
and returns -1 if not found.
template <class T>
int LinkedList<T> :: search(const T&value)
{
   int pos=-1;
   int index=0;
   LinkedList nodePtr=head;
   bool found=false;
   while(nodPtr!=NULL && !found)
   {  
       if(nodePtr->value==value)
           {
           found=true;
           pos=index;
           }  
       index=index+1;      
   }
   return pos;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote