ABSTRACT

Strengths: This data structure provides a tracked implementation of a dynamic circular array. As discussed in Section 5.8, tracked versions of data structures are useful when the application needs to locate items in the collection in constant time, even if they might have been moved. Also, trackers support iteration that is robust to most concurrent modifications. Furthermore, even when a critical mutation is executed, such as sorting the collection, each tracker continues to track the same element as before the mutation. In this chapter, we provide an example of extending DynamicCircularArray to provide a tracked version of a dynamic circular array. However, substituting a different parent class name (Array, CircularArray, or DynamicArray) yields a tracked version of the corresponding data structure.