Question: Complete the ADT SortedList by finishing all the constructors and methods in the class template SortedList.h (C++) SortedList.h: #ifndef _SORTED_LIST #define _SORTED_LIST #includeNode.h template class

Complete the ADT SortedList by finishing all the constructors and methods in the class template SortedList.h (C++)


SortedList.h:

#ifndef _SORTED_LIST

#define _SORTED_LIST


#include"Node.h"


template

class SortedList

{

private:

Node *head;

int itemCount;//Current count of list items

Node *getNodeBefore(const ItemType &anEntry)const;

Node *getNodeAt(int position) const; //Return a pointer that hold the address of the node at 'position'

public:

SortedList(); //Default constructor

SortedList(const LinkedSortedList &aList); //Copy constructor

bool isEmpty() const; //Check if the list empty (no item stored in the array)

int getLength() const; //Returns the number of items in the list

bool remove(int position); //Remove an entry at given position from the list

void clear(); //remove all the items from the list

ItemType getEntry(int position) const; //Retrieves an item on the list at the given position

void displayList();


//Following are three new methods:

void insertSorted(const ItemType &newEntry);

bool removeSorted(const ItemType &anEntry);

int getPosition(const ItemType &newEntry) const;

};

//Complete all the constructors and methods here:


#endif




Please download the following source file and use it as a testing program to make sure all the member functions in your class template are working correctly before submitting your header file.


source file for testing the class template:

#include

#include"Node.h"

#include"SortedList.h"

#include

using namespace std;


int main()

{

SortedList aList;

  

//Test inserSorted() funciton

srand(static_cast(time(NULL)));

for(int i=0;i<8;i++){

aList.insertSorted(rand()%100);

}

cout<<"================";

aList.displayList();

cout<<"================";

//Test clear() function

aList.clear();

aList.insertSorted(17);

aList.insertSorted(5);

aList.insertSorted(21);

aList.insertSorted(15);

aList.insertSorted(4);

cout<<"================";

aList.displayList();

cout<<"================";

//Test removeSorted() function

if(!aList.removeSorted(20)){

cout<<"Removal failed!";

}

if(!aList.removeSorted(15)){

cout<<"Removal failed!";

}

cout<<"================";

aList.displayList();

cout<<"================";

if(!aList.removeSorted(4)){

cout<<"Removal failed!";

}

if(!aList.removeSorted(21)){

cout<<"Removal failed!";

}

cout<<"================";

aList.displayList();

cout<<"================";

//Test getPosition() function

cout<<"The postion of 25 is "<

cout<<"The postion of 2 is "<

cout<<"The postion of 11 is "<

return 0;

}


//header file for the template class Node


#ifndef _NODE

#define _NODE


template

class Node

{

private:

ItemType item;

Node *next;

public:

Node(); //default constructor

Node(const ItemType &anItem);//none default constructor

Node(const ItemType &anItem, Node *nextPtr); //none default constructor

void setItem(const ItemType &anItem);

void setNext(Node *nextPtr);

ItemType getItem() const;

Node *getNext() const;

};

template

Node::Node()

{

next = NULL;

}

template

Node::Node(const ItemType &anItem)

{

item = anItem;

next = NULL;

}

template

Node::Node(const ItemType &anItem, Node *nextPtr)

{

item = anItem;

next = nextPtr;

}

template

void Node::setItem(const ItemType &anItem)

{

item = anItem;

}

template

void Node::setNext(Node *nextPtr)

{

next = nextPtr;

}

template

ItemType Node::getItem() const

{

return item;

}

template

Node* Node::getNext() const

{

return next;

}

#endif

Step by Step Solution

3.35 Rating (167 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Nodeh ifndef NODE define NODE template class Node private ItemType item Node next public Node default constructor Nodeconst ItemType anItemnone default constructor Nodeconst ItemType anItem Node nextP... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!