Implement the ListArray ADT Implement the following operatio

Implement the ListArray ADT-

*Implement the following operations:

- constructor, assignment operator, destructor

-insert, remove, replace, clear

-isFull, isEmpty

-gotoBeginning, gotoEnd, gotoNext, gotoPrior, getCursor

#ifndef LISTARRAY_H

#define LISTARRAY_H

#include

#include

using namespace std;

#pragma warning( disable : 4290 )

template < typename DataType >

class List

{

public:

static const int MAX_LIST_SIZE = 10; // Default maximum list size

// Constructors

List ( int maxNumber = MAX_LIST_SIZE ); // Default constructor

List ( const List& source ); // Copy constructor

  

// Overloaded assignment operator

List& operator= ( const List& source );

// Destructor

virtual ~List ();

// List manipulation operations

virtual void insert ( const DataType& newDataItem ) // Insert after cursor

throw ( logic_error );

void remove () throw ( logic_error ); // Remove data item

virtual void replace ( const DataType& newDataItem ) // Replace data item

throw ( logic_error );

void clear (); // Clear list

// List status operations

bool isEmpty () const; // List is empty

bool isFull () const; // List is full

// List iteration operations

void gotoBeginning () // Go to beginning

throw ( logic_error );

void gotoEnd () // Go to end

throw ( logic_error );

bool gotoNext () // Go to next data item

throw ( logic_error );

bool gotoPrior () // Go to prior data item

throw ( logic_error );

DataType getCursor () const

throw ( logic_error ); // Return data item

// Output the list structure -- used in testing/debugging

virtual void showStructure () const;

// In-lab operations

void moveToNth ( int n ) // Move data item to pos. n

throw ( logic_error );

bool find ( const DataType& searchDataItem ) // Find data item

throw ( logic_error );

protected:

// Data members

int maxSize,

size, // Actual number of data item in the list

cursor; // Cursor array index

DataType *dataItems; // Array containing the list data item

};

#endif

Solution

#include \"ListArray.h\" Struct List List ::List(int maxNumber = MAX_LIST_SIZE) { size = cursor = 0; maxSize = maxNumber; dataItems = new DataType [maxNumber]; for(int i = 0; i < maxNumber; i++) dataItems[i] = NULL; } List ::List(const List& source) { maxSize = MAX_LIST_SIZE; dataItems = new DataType [MAX_LIST_SIZE]; for(int i = 0; i < MAX_LIST_SIZE; i++) dataItems[i] = source.dataItems[i]; size = source.size; cursor = source.cursor; } List ::operator= (const List &source) { this -> clear(); for(int i = 0; i < maxSize; i++) dataItems[i] = source.dataItems[i]; //return source; } List::~List() { delete [] dataItems; } void List_insert(const DataType &newDataItem) { if(size == 0) dataItems[cursor] = newDataItem; else { dataItems[cursor + 1] = newDataItem; } size++; cursor = size - 1; } void List_remove() { dataItems[cursor] = NULL; size--; if(dataItems[cursor + 1] == NULL) cursor = 0; else cursor++; } void List_replace(const DataType &newDataItem) { dataItems[cursor] = newDataItem; } void List_clear() { for(int i = 0; i < size; i++) dataItems[i] = NULL; size = cursor = 0; } bool List_isEmpty() const { return (size == 0); } bool List_isFull() const { return (size == maxSize); } void List_gotoBeginning() { cursor = 0; } void List_gotoEnd() { cursor = size - 1; } bool List_gotoNext() { if(dataItems[cursor + 1] != NULL) { cursor++; return true; } else return false; } bool List_gotoPrior() { if(cursor != 0) { cursor--; return true; } else return false; } DataType List_getCursor() const { return dataItems[cursor]; } void List_showStructure() const { cout << \"Size: \" << size << \" Cursor: \" << cursor << endl; cout << \"List: \"; for(int i = 0; i < maxSize; i++) { cout << dataItems[i]; if(i != maxSize - 1) cout << \", \"; } cout << endl; }
Implement the ListArray ADT- *Implement the following operations: - constructor, assignment operator, destructor -insert, remove, replace, clear -isFull, isEmpt
Implement the ListArray ADT- *Implement the following operations: - constructor, assignment operator, destructor -insert, remove, replace, clear -isFull, isEmpt
Implement the ListArray ADT- *Implement the following operations: - constructor, assignment operator, destructor -insert, remove, replace, clear -isFull, isEmpt

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site