Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

Assignment

Aim:

This assignment is to familiarise you with the use of container classes in your programs.

On completion you should know how to:
- Write container class objects with overloaded operators.
- Implement programs incrementally to minimise debugging.
- Custom design container class objects for software applications.

Requirements:
Complete the following class object by writing the code needed in the provided files. Much of this is explained in the week-4 lecture notes "4b C++ Classes - book.pdf". After completing each step, test that your code works by writing appropriate code in main.cpp.

Step 1

Implement all public member functions of the linked list class declared below in files list.h and list.cpp. Note: RemoveHead() returns true if an item is successfully removed from the list or false if unsuccessful (i.e. the list is empty). Also, implement the main() function given below in main.cpp. Modify the main() function by inserting code for testing all the list's member functions. Your main() should print on the screen the test being performed and produce output showing that the test case works. (e.g. "Testing AddTail()", Testing RemoveHead()", "Testing destructor")

struct Node
{
int Item; Node *Next;
};

class LinkedList
{
public:
LinkedList();
~LinkedList();
void AddTail(int Item); // adds item to tail bool RemoveHead(int &Item);// removes item from head
void Print(); // prints list. eg 12 34 21 26 private:
Node *Head;
};

int main()
{
LinkedList L1 . . .

// Put your code for testing your list functions here

return 0;
}

Step 2

Also implement AddHead() and RemoveTail() public member functions. AddHead() adds an item to the head of the list. RemoveTail() removes an item from the tail of the list and returs true if successful, or false if the list is empty. Modify the main() function by adding code for testing these functions. Make sure you print on the screen the test being performed and produce output that shows that the tests worked.

Step 3

In your linked list class, also implement a copy constructor that makes a deep copy of the list argument. Add code for testing the copy constructor on empty and non-empty lists. Make sure you print on the screen the test being performed and produce output that shows that the tests worked.

Step 4

AssignmentImplement an assignment operator in your LinkedList class. The assignment operator should ensure multiple assignments are possible. eg the following statements should make A and B identical to C.

List A, B, C;
for(int i=0; i<10; i++) C.AddHead(i);
A = B = C;

Ensure there are no memory leaks and all lists have their own separate memory. You should not assume the left-hand operand is always empty. Add code in the main for testing the assignment operator on both empty and non-empty lists.

Step 5

Implement the addition operator (+) in your LinkedList class. Your assignment operator should enable a concatenated list to be assigned to another list. E.g.

LinkedList L1,L2,L3;

... // code for adding data to lists

L3 = L1 + L2; // makes L3 a concatenated list of L1 and L2

Add code to the main() for testing the plus operator on both empty and non-empty lists.

Attachment:- Assignment-CPP.zip

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M92261426
  • Price:- $100

Guranteed 48 Hours Delivery, In Price:- $100

Have any Question?


Related Questions in Computer Engineering

Question suppose you are comparing two algorithms a and b

Question : Suppose you are comparing two algorithms A and B that run on the same machine. The running time of A is 10n log2 n and the running time of B is 50n (assume these are exact running time). What is the smallest v ...

Design a combinational circuit with three inputs a b and c

Design a combinational circuit with three inputs: A, B, and C, D and the output W. The output should be 1 only when the values of A, B interpreted as an unsigned integer (AB) is equal to the values of C, D interpreted as ...

I suppose alice wants to send a long message m to bob if

(i) Suppose Alice wants to send a long message m to Bob. If Alice and Bob already share a secret key k, and they use HMAC to protect the integrity of the message m, what should the message format be (or what components s ...

Supposed datagrams are limited to 1600 bytes including

Supposed datagrams are limited to 1600 bytes (including header, with header size = 40) between host A and destination host B. Assuming a 20-byte IP header; further assume that the data is carried in TCP segments, with ea ...

Smith smith smith smith is a regional accounting firm that

Smith, Smith, Smith, Smith is a regional accounting firm that is putting up a new headquarter building. The building will have a backbone network that connects eight LANs (two on each floor). The company is very concerne ...

What is asymmetric information and how does it affect the

What is asymmetric information and how does it affect the consumer or buyer?

You are running a memory-intensive multimedia application

You are running a memory-intensive multimedia application on your computer, which has 1 GB RAM installed. You observe that the computer momentarily stops responding when you switch between two multimedia applications. Yo ...

You all work in or know of people who work in enterprise it

You all work in or know of people who work in enterprise IT environments Maintaining the enterprise security posture, legal risk, and security is constantly changing. What makes it so difficult to maintain information se ...

A chemistry student needsnbsp700 ml of dimethyl sulfoxide

A chemistry student needs 70.0 mL of dimethyl sulfoxide for an experiment. By consulting the  CRC Handbook of Chemistry and Physics , the student discovers that the density of dimethyl sulfoxide is 1.10 g.cm^-3. Calculat ...

Question a student has a first name fname a last name lname

Question : A student has a first name (fname), a last name (lname), an identification number (id), a gender (male/female), a course name (cname) and the number of lectures (lcount) attended by the student. a. Define gend ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As