1: // Created by Frank M. Carrano and Timothy M. Henry.
2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.
4: template <class ItemType>
5: bool LinkedList<ItemType>::operator==(const LinkedList<ItemType>& rightHandSide) const
6: {
7: bool isEqual = true; // Assume equal
8:
9: // First check whether the number of items is the same
10: if (itemCount != rightHandSide.getLength())
11: isEqual = false;
12: else
13: { // Then compare items
14: auto leftSidePtr = headPtr;
15: auto rightSidePtr = rightHandSide.headPtr;
16:
17: while ((leftSidePtr != nullptr) && (rightSidePtr != nullptr) && isEqual)
18: {
19: ItemType leftItem = leftSidePtr– >getItem();
20: ItemType rightItem = rightSidePtr– >getItem();
21: isEqual = (leftItem == rightItem);
22:
23: leftSidePtr = leftSidePtr– >getNext();
24: rightSidePtr = rightSidePtr– >getNext();
25: } // end whiile
26: } // end if
27:
28: return isEqual;
29: } // end operator==