Remove A Node By Value
The goal of this exercise
is to make sure that you can implement the logic needed to remove items from the
middle of a linked list (based on the value of the item itself, rather than a
predetermined position).
What you need to do for
this exercise:
- For this exercise,
you need to implement the RemoveByValue
method in the provided MyLinkedList
class.
- This class should be
found in the Student_Answers.cs file, in a project named something like
03_PCE_StudentCode. In the starter project, in the
OO_Linked_List project, you'll find a class named MyLinkedList.
- The RemoveByValue method looks like:
void
RemoveByValue(int value);
When this function ends, the first node that contains "value" should be
removed from the list. If no nodes contain “value”, then return something
like "NotFound" (you may have to define this return code yourself). If
more than one node contains "value", you only need to remove the first one.a.
You
are NOT allowed to assume that the nodes will be in any particular order.
Specifically, the nodes may (or may not) be in ascending order.b.
If
the value that you’re asked to
remove is not present in the list, then the list should be left unchanged.
-
Annotate this method (put a comment next to this method) describing the running
time of that method, using the Big "Oh" notation.
- Once you’ve completed the above task, you should run the tests in
the
NUnit_Tests_LL_RemoveInOrder
class. They should all pass at this point, and
if not, then you should fix your program so that those tests do pass.
You can run the tests using the NUnit support in the provided starter
project. You should feel free to supplement that code with your own
test cases if you wish, but you are neither required nor expected to.
- NOTE: There are tests for this exercise. HOWEVER, if this
exercise is not marked 'Hand In' on the page for this Lesson then
you are not required to make these pass.
It's good practice.
And it's recommended
But it's not required.