Here is my linked list implementation file.

#include "List.h" #include<iostream> List::List() { head = NULL; } bool List:: ListAdd(ListType Grade) { Node *current; Node *temp; if(head == NULL) { head = new Node; head ->data = Grade; //Puts the data in the new node head->next = NULL; return true; } else { current = head; while(current ->next != NULL) current = current ->next; temp = new Node; temp->data = Grade; temp->next = NULL; current->next = temp; return true; } return false; } int List::ListCount() { count = 0; //Assume P points to the first node in the list for (Node * curr = head; curr != NULL; curr = curr->next) count++; return count; } int List::ListHigh() { for (Node * curr = head; curr != NULL; curr = curr->next) { if(curr->data > head->data) high = curr ->data; } return 0; } int List::ListLow() { return 0; } ListType List::ListMean() { ListType total = 0; for (Node * curr = head; curr != NULL; curr = curr->next) total += curr->data; mean = total / count; return mean; } int List::ListRange(ListType High, ListType Low) { grade_count = 0; for (Node * curr = head; curr != NULL; curr = curr->next) { if( curr->data <= High && curr->data >= Low) grade_count++; } return grade_count; } ListType List::ListSum() { for (Node * curr = head; curr != NULL; curr = curr->next) sum += curr->data; return sum; } List::~List() { delete head; }