- Up - | Next >> |
We can implement bag abstract data structures through cells and lists. This is more efficient than using stacks for the same purpose.
functor
export
new : NewBag
fromList: ListToBag
Put ToList Member
define
fun {NewBag}{Cell.new nil} end
fun {ListToBag L} {Cell.new L} end
proc{Put B X} L in {Exchange B L X|L} end
fun {ToList B} {Access B} end
fun {Member B X} {List.member X {ToList B}} end
end
- Up - | Next >> |