Logo Data Structures and Algorithms with Object-Oriented Design Patterns in C++
next up previous contents index

Projects

  1. Complete the implementation of the Array<T> class declared in Program gif. Write a test suite to verify all of the functionality. Try to exercise every line of code in the implementation.
  2. Complete the implementation of the LinkedList<T> class declared in Program gif. Write a test suite to verify all of the functionality. Try to exercise every line of code in the implementation.
  3. Change the implementation of the LinkedList<T> class declared in Program gif by removing the tail member variable. I.e., implement the singly-linked list variant shown in Figure gif (a). Write a test suite to verify all of the functionality. Try to exercise every line of code in the implementation.
  4. Change the implementation of the LinkedList<T> class declared in Program gif so that it uses a circular, singly-linked list with a sentinel as shown in Figure gif (c). Write a test suite to verify all of the functionality. Try to exercise every line of code in the implementation.
  5. The Array2D<T> class declared in Program gif only supports subscript ranges starting at zero. Modify the implementation to allow an arbitrary subscript base in each dimension.
  6. Design an implement a three-dimensional array class Array3D<T> based on the two-dimensional class Array2D<T> declared in Program gif.
  7. A row vector is a tex2html_wrap_inline61259 matrix and a column vector is an tex2html_wrap_inline61261 matrix. Define and implement classes RowVector<T> and ColumnVector<T> as classes derived from the base class Array2D<T>.


next up previous contents index

Bruno Copyright © 1997 by Bruno R. Preiss, P.Eng. All rights reserved.