1: // Created by Frank M. Carrano and Timothy M. Henry. 2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey. 4: template<class ItemType> 5: int ArrayBag<ItemType>::getFrequencyOf(const ItemType& anEntry) const 6: { 7: return countFrequency(anEntry, 0); 8: } // end getFrequencyOf 10: // With multiple return statments 11: template<class ItemType> 12: int ArrayBag<ItemType>::countFrequency(const ItemType& target, 13: int searchIndex) const 14: { 15: if (searchIndex < itemCount) 16: { 17: if (items[searchIndex] == target) 18: { 19: return 1 + countFrequency(target, searchIndex + 1); 20: } 21: else 22: { 23: return countFrequency(target, searchIndex + 1); 24: } // end if 25: } 26: else 27: return 0; // Base case 28: } // end countFrequency 30: // With one return statement 31: template<class ItemType> 32: int ArrayBag<ItemType>::countFrequency(const ItemType& anEntry, int searchIndex) const 33: { 34: int frequency = 0; 35: if (searchIndex < itemCount) 36: { 37: if (items[searchIndex] == anEntry) 38: { 39: frequency = 1 + countFrequency(anEntry, searchIndex + 1); 40: } 41: else 42: { 43: frequency = countFrequency(anEntry, searchIndex + 1); 44: } // end if 45: } // end if 46: 47: return frequency; 48: } // end countFrequency