Question: Given the implementation of IntSet seen in class, augment it with the following methods: 1) def filter (p: Int => Boolean): IntSet Hint: start
Given the implementation of IntSet seen in class, augment it with the following methods: 1) def filter (p: Int => Boolean): IntSet Hint: start by defining the helper method filter Acc which takes an accumulator set as a second argument. This accumulator contains the ongoing result of the filtering. def filterAcc (p: Int => Boolean, acc: IntSet): IntSet 2) Using the method remove with the following implementations: def remove(i: Int): IntSet = this // for Empty IntSet def remove(i: Int): IntSet = // for NonEmpty IntSet if (i < elem) new NonEmpty (elem, left.remove(i), right) else if (elem
Step by Step Solution
There are 3 Steps involved in it
Heres an implementation of the augmented IntSet class with the requested methods abstract class IntS... View full answer
Get step-by-step solutions from verified subject matter experts
