/*viewContactList(ContactController &controller) * ********************************************* * An unsorted view of the list being used by the controller * This function isn't used in the current main program. */ void ContactViewer::viewContactList(ContactController &controller){ Contact *curr; std::string temp; std::cout<< "list length in viewer="<< controller.list->getLength()<< "\n"; for (int i=1; i<= controller.list->getLength(); i++){ curr = controller.list->retrieve(i); temp = curr->getFirstLast(); std::cout << "list at pos:" << i << " is :" << temp << "\n"; } std::cout << "End of Viewing List\n"; }
/* * viewSortedContacts(ContactController &controller): * **************************************************** * creates a vector of Contact* from the controller referenced by argument * then implements a linear sort of the vector by first name and then by * last name (to hopefully sort same last names by first name) */ void ContactViewer::viewSortedContacts(ContactController &controller){ Contact *curr; std::string temp; //std::cout<< "list length in viewer="<< controller.list->getLength()<< "\n"; std::vector<Contact*> sorted;// for (int b = 1; b <= controller.list->getLength(); b++){ sorted.push_back(controller.list->retrieve(b)); } //std::cout<< "sorted size = "<< sorted.size()<< "\n"; for(size_t i = 0; i < sorted.size(); i++){ for (size_t j=i+1; j < sorted.size(); j++){ if (sorted[i]->getFirst()> sorted[j]->getFirst()){ //std::cout<< "sorted " << i<< " = " << sorted[i]->getFirst() // << "sorted " << j << " = " << sorted[j]->getFirst() << std::endl; curr = sorted[i]; sorted[i]= sorted[j]; sorted[j]= curr; } } } for(size_t k = 0; k < sorted.size(); k++){ for (size_t m=k+1; m< sorted.size(); m++){ if (sorted[k]->getLast()> sorted[m]->getLast()){ //std::cout<< "sorted " << k<< " = " << sorted[k]->getLast() // << "sorted " << m << " = " << sorted[m]->getLast() << std::endl; curr = sorted[k]; sorted[k]= sorted[m]; sorted[m]= curr; } } } for (size_t j = 0; j < sorted.size(); j++){ curr = sorted[j]; temp = curr->getFirstLast(); std::cout << "Sorted List at pos:" << j << " is :" << temp << "\n"; } std::cout<< "Number of Contacts in List ="<< controller.list->getLength()<< "\n"; }