Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Analyze the worst-case run-time complexities of the member functions reverse() and remove_if(). Give the complexities in the form of Big-O. template void List ::reverse() {
Analyze the worst-case run-time complexities of the member functions reverse() and remove_if(). Give the complexities in the form of Big-O.
templatevoid List ::reverse() { if(!empty()) { auto current_ptr=head; while(current_ptr != nullptr) { std::swap(current_ptr->next, current_ptr->prev); current_ptr=current_ptr->prev; } } std::swap(head, tail); }
****************************************************************
templatetemplate void List ::remove_if(PREDICATE pred) { for(auto i = begin();i != end();) { if(pred(*i) == true) { i = erase(i); } else{ ++i; } } }
8.5.7
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started