diff --git a/src/List.java b/src/List.java index 6a8e614..12392f4 100644 --- a/src/List.java +++ b/src/List.java @@ -38,7 +38,27 @@ } public boolean removeAt(int pos) { - return false; + boolean isRemoved = false; + if (root != null) { + if (pos == 0) { + root = root.next; + isRemoved = true; + } else if (pos > 0 && pos < size()) { + Node walker = root; + Node prev = null; + + while (walker != null && pos > 0) { + pos--; + prev = walker; + walker = walker.next; + } + + prev.next = walker.next; + walker = null; + isRemoved = true; + } + } + return isRemoved; } public int find(T elem) {