IMPLEMENTING AN ORDERED LIST WITH A BINARY SEARCH TREE
An ordered list is a sequence of elements, all of the same type, that is ordered by the elements' values. A binary search tree (BST) is a binary tree in which the value at each node is greater than the values in its left subtree and less than the values in its right subtree. This project implements an ordered list using a BST and exercises that list in a menu-driven program.
Design, write, test, and document a class that implements an ordered list type, and a program that exercises the class's list implementation. Implement the ordered list type using a pointer-based binary search tree. The elements of the class's lists are integers, but it should be easy to change this type.
The class should implement the following operations on ordered lists of its element type:
Initialize a list to be empty (the default constructor).
A destructor that deletes the dynamic memory in the tree that represents a list.
Re-initialize an existing list to be empty.
Insert a value into a list, in the appropriate position. If the value is already present, the list is unchanged.
Remove a value from a list. If the value is not present, the list is unchanged.
Return the length of a list: the number of values it contains.
Report whether or not a particular value is present in a list.
Write out the values in a list, in order, to an output stream.
The exercising program should be menu-driven and interactive. The program will read and respond to commands that the user enters, as illustrated in the example below.
The program will read commands to manipulate one list. These commands will consist of a letter followed sometimes by an integer. For example, the command "i 25" might tell the program to insert the value 25 into the list.
The program will write to the terminal instructions and a menu of commands, and it will prompt for the user's input.
The program may assume that the input the user provides is correct; it need not detect any errors.
A run of the program might look something like this:
This program responds to commands the user enters to
manipulate an ordered list of integers, which is
initially empty. In the following commands, v is any
e -- Re-initialize the list to be empty.
i v -- Insert the value v into the list.
r v -- Remove the value v from the list.
l -- Report the length of the list.
p v -- Is the value v present in the list?
w -- Write out the list.
h -- See this menu.
q -- Quit.
--> i 27
--> i 42
--> i 15
--> i 33
--> i 14
The list 0: 14 15 27 33 42
--> r 33
The list: 14 15 27 42
--> p 22
The value 22 is NOT present in the list.
--> p 42
The value 42 is present in the list.
--> i 88
--> i 51
The list contains 6 values.
This example does not illustrate everything the program might do under all circumstances; it is your responsibility to test all its features.
Use a typedef statement to specify the item type in the class's list type, so that the item type can be changed easily.
Commands will consist of a letter sometimes followed by an integer. These can be easily read in with the extractor operator ">>".
Consider whether functions associated with the class should be member functions, friend functions, or nonmember functions.
hi Sir i'm professional elecreical engineer ill program your code for free after that if you like my work you can pay . 100 percent money back garntuee looking forward for your reply thanks
Bu iş için 7 freelancer ortalamada $31 teklif veriyor
Hi, I have over 10 years of experience in C++ programming. I've read the description. I can finish this task in 1 day. Please message me if you're interested.
I can do this project. I have experience of Python, C & C++ and Java programming for 5+ years. I can satisfy you perfectly. Please contact me and discuss in detail.
Hello, sir. How are you? I am a excellent Algorithm Expert and C++ programmer. I understood what you want in this project. Please discuss with me more details in private messaging. Thanks.
Hello! I’m really glad to submit my proposal. I had a look at your given job post and came to know that you are looking for c++ Development as per your requirement. I got pretty much experience in c++ programs an Daha Fazla
Hy ! I have read your project description .I have the required skills in this technology to do this. I HAVE DONE THIS KIND OF WORK PREVIOUSLY. I can show you my work too. For getting started you can reach me anytime Daha Fazla
~~~ Very interested to me! ~~~ Hi, dear! Feel contact me for these kinds of projects. I will provide you the best result on time. I am waiting for your message to have a detail discussion. Thanks.