Starting from:

$29

Data Structures Project 3

Objectives
1. [50 Points] Create all the required data structures along with the implementation of each of the
following methods for all classes. You are required to demonstrate the working of the following
methods for each of the methods by invoking them from a main program.
a. empty constructor
b. non-empty constructor (sets the initial size of the vector)
c. destructor
d. copy constructor
e. overloaded equal to operator
f. ostream operator
2. [20 Points] Read the redirected input and create all the data structures.
3. [20 Points] Demonstrate the working of the classes with two different data types: int and character
strings.
4. [10 Points] Document your project thoroughly as the examples in the textbook. This includes but not
limited to header comments for all classes/methods, explanatory comments for each section of code,
meaningful variable and method names, and consistent indentation.
Project Description
A Cell is a linked list node and can contain any data (in this project we will assume that they are all integers). A
Cell Node contains a value (a data type) and a pointer to a Cell. The Master Cell contains an array of Cell Nodes.
The input file contains an unknown number of lines of input. Each line contains an integer (we will call it info)
and followed by an integer (call it noItems). Following this integer, there will be several integers (the number of
them equal to noItems). For example, let us say that the input line is as follows:
106 5 1200 1800 300 4999 5000
106 is the info, noItems is 5 and the 5 integers are 1200, 1800, 300, 4999, and 5000. When you read the line,
you will create a CellNode object store the value 106 in its _info field. You will create a linked list with the 5
values and store the pointer to the first element of the linked list created in the field _myCell of the CellNode
object. The CellNode object that was created is stored in the first element of the vector _myCellNodes of the
MasterCell object created in the main program.Here is a set of input lines:
106, 5 1200 1800 300 4999 5000
90, 3 30 1000 80
200, 3 20 10 40 90
50, 2 41 31
60, 3 88 75 26
65, 1 51
The data structure is pictorially depicted below:
106 1200 1800 300 4999 5000
90
30 1000 80
50
41 31
200
20 10 40
60
88 75 26
65 51
90
Cell Node
Cell Object
Master CellBelow is a second set of input lines:
Operating Systems, 5 1200 1800 300 4999 5000
Compiler construction, 3 30 1000 80
Database Management systems, 3 20 10 40 90
Java programs for beginners, 2 41 31
Statistics introduction, 3 88 75 26
Algorithms analysis, 1 51
The data structure is pictorially depicted below:
After reading all the input and creating appropriate objects, you have to demonstrate the working of all the
methods in each of the classes.
Please follow the discussion of this project in class in addition to the description here.
Operating
Systems
1200 1800 300 4999 5000
Compiler
constructio
n
30 1000 80
Java
programs
for
beginners
41 31
Database
Manageme
nt systems 20 10 40
Statistics
introductio
n 88 75 26
Algorithms
analysis 51
90Class Structures
You are required to implement the following class structures along with the implementation of the methods
associated with each of them.
template <class DT
class Cell {
protected:
DT* _value;
Cell<DT* _right;
public:
//All required methods
};
template <class DT1, class DT2
class CellNode {
protected:
DT1* _info;
Cell<DT2* _myCell;
public:
//All required methods
};
template <class DT1, class DT2
class MasterCell {
protected:
CellNode<DT1,DT2* _myCellNodes;
public:
//All required methods
};
Constraints
1. In this project, the only header you will use is #include <iostream.
2. None of the projects is a group project. 

More products