An integer can be represented by a linked list with one digit in each node. If you enter the #2149 it is stored as 9 4 1 2.
Develop an ADT with the following operations for unlimited-digit #'s. #'s refer to a linked list of digits and M, N and O are all #'s. Use the examples below to develop the program:
Increment: A method that increases the value of a # by 1. [url removed, login to view](); You should allow for 3 possibilities in the function regarding the initial value for N.
a. N is NULL
b. N is not NULL, and the value in the first node is 0..8
c. N is not NULL, and the value in the first node is 9
Copy: A method that copies one number to another. You cannot just copy from one pointer to another, you must create copies of each node in the original. [url removed, login to view](M)
Sum: A method that takes 2 #'s and sums them. [url removed, login to view](M); (adds M and N). Another possibility: [url removed, login to view](M,0);
Display Number: A method that displays its argument (a #) in standard form. [url removed, login to view]();
The ADT should be a C++ class, with all functions and data declared in the appropriate sections. The use of recursion is ok. Include a short program that adequately tests all procedures in the ADT.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.