-
AlgorithmsArrays
Description create a pop_first and pop_last functions which will delete first/last element from vector and then return it
Code template <typename T> T pop_last(std::vector<T>* v) { T result = (*v)[v->size() - 1]; v->pop_back(); return result; } template <typename T> T pop_first(std::vector<T>* v) { T result = (*v)[0]; v->erase(v->begin()); return result; } template int pop_last(std::vector<int>*); template int pop_first(std::vector<int>*);
Test Cases template <typename T> T pop_last(std::vector<T>* v); template <typename T> T pop_first(std::vector<T>* v); Describe(pop) { It(_pop_last_) { std::vector<int> vec = {1,2,3,4}; Assert::That(pop_last(&vec), Equals(4)); Assert::That(pop_last(&vec), Equals(3)); Assert::That(pop_last(&vec), Equals(2)); Assert::That(pop_last(&vec), Equals(1)); } It(_pop_first_) { std::vector<int> vec2 = {1,2,3,4}; Assert::That(pop_first(&vec2), Equals(1)); Assert::That(pop_first(&vec2), Equals(2)); Assert::That(pop_first(&vec2), Equals(3)); Assert::That(pop_first(&vec2), Equals(4)); } };
Output:
-
- All
- {{group.name}} ({{group.count}})
This comment has been reported as {{ abuseKindText }}.
Show
This comment has been hidden. You can view it now .
This comment can not be viewed.
- |
- Reply
- Edit
- View Solution
- Expand 1 Reply Expand {{ comments?.length }} replies
- Collapse
- Remove
- Remove comment & replies
- Report
{{ fetchSolutionsError }}