Question
Linked-list. Anyone could help to finish the function filter() ? template class List { private: // struct for singly-linked list nodes struct Node { T
Linked-list. Anyone could help to finish the function filter()?
template
Node(const T &d = T{}, Node *n = nullptr) : data{d}, next{n} {} };
/* Data members of List class: a front and back pointer */ Node *front; Node *back;
public: // constructor List() { front = nullptr; back = nullptr; }
// destructor ~List() { clear(); }
/** * TODO * function: filter_leq * * description: removes all elements of the given list (lst) which * are less than or equal to a given value (cutoff) * * A list containing the removed elements is returned. * * examples: * * EX1: lst: [4, 9, 2, 4, 8, 12, 7, 3] * cutoff: 4 * * after call: * lst: [9, 8, 12, 7] * returned list: [4, 2, 4, 3] * * ----------------------------------------- * EX2: lst: [6, 5, 2, 1] * cutoff: 6 * * after call: * lst: [] * returned list: [6, 5, 2, 1] * * REQUIREMENTS: * * RUNTIME: THETA(n) where n is the length of the given list * * ORDERING: the ordering of the returned list should be the same as * in the given list * * MEMORY: for full credit, no new nodes should be allocated or deallocated; * you should just "re-use" the existing nodes. HOWEVER, you will * need to allocate a LIST structure itself (i.e., for the returned * list). * */ List
return nullptr; }
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