Define your own recursive implementation of linklist

Assignment Help JAVA Programming
Reference no: EM131299417

Programming Project

Write a JAVA program to solve the following problem. Your program should properly compile and run. Your code MUST follow the documentation style used in your textbook. You need to upload into Moodle the following:

• From this point on, each of your projects is expected to be composed of multiple source code files. Thus to organize these files, all of them have to be part of a single package. Your package name MUST match the directory containing your code file. Finally, you need to export your package as a .JAR file then upload this single file into Moodle. If you are not familiar with how to export your code into a .JAR file, please check the following link.

https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-33.htm

Very Important Note: Do NOT upload any other files into Moodle; just ONE file with the extension ".jar" that is it.

Problem Statement:

In this project, you are asked to write a Java application similar to the one you wrote in Project 2 that handles a list of employees employed by a certain company. Your code in project 2 had used the built-in functionalities of the LinkedList class defined in the Java Collection Classes. In this project, you will still use a LinkedList as the main data structure that stores your data but you will provide your own implementation of a class called RecLinkedLink. In doing so, all the required methods to be defined in your RecLinkedList needs to be implemented using recursive algorithms. In other words, method such as size(), replace(), add(), remove, etc. MUST use recursion to achieve it functions. (check chapter 5 for details).

As done before, we will assume that each employee is only represented by her/his first name. The names of all employees in this small company are stored in a given data file called empNames.txt which is posted on Moodle next to this project statement. Your program must do the following task:

1. Define your own recursive implementation of LinkList in a separate file called "RecLinkedList.java".

2. Create an object of RecLinkedList to be used in storing and handling employees' data.

3. Open the given file and read employee data into the RecLinkedList object. In doing so, your code needs to maintain the order of employee data in the input file.

4. Verify the content of the employee data (just read) by displaying them on the monitor using a traditional for loop along with appropriate output messages.

5. Invoke various methods of the RecLinkedList class to retrieve then display the first element and the last element of the list. Display appropriate messages on the monitor.

6. Invoke various methods of the RecLinkedList class to remove the last element then display the size of the list after the removal operation. Display appropriate messages on the monitor.

7. Display the current list contents using the enhanced for loop along with appropriate output messages.

8. Create a ListIterator object, iter, to be used in accessing the RecLinkedList contents.

9. Advance the iterator for five positions then display the current list item (using iterator method and NOT list method).

10. Insert a new employee called "Kelly" at the current iterator position then display the current list contents using the compact form to be used from this point on for any list content display. Hint, use the implicit toString().

11. Execute the iter.previous() method followed by using the iter.set() method to set the current element to Nancy. Then, display the current list contents.

12. Execute the iter.previous() method followed by the remove() method then display the current list contents.

13. In a separate file, create a helper class called HelpLists. This class need to have the code for two methods described below:

a. public void reverse(RecLinkedList<String> strings). This method receives a RecLinkedList object as its parameter then linearly access all the elements in the object while pushing them in a STACK object. You need to use the STACK data structure that you just created to retrieve the data from the stack and display them in reserve order on the monitor.

b. public void FIFO(RecLinkedList<String> strings). This method receives a RecLinkedList object as its parameter then linearly access all the elements in the object while inserting them in a QUEUE object. You need to use the QUEUE data structure that you just created to retrieve the data from the queue and display them in order on the monitor.

14. In your main class, create an object of type HelpLists class then use it in the following.

15. Invoke the reverse method to reverse the order then display the reversed list contents.

16. Invoke the FIFO() method in order to create a queue and use it to ensure that the order of the data in RecLinkedList will be displayed without change.

Text Book: DATA STRUCTURES- Abstraction and Design Using Java by ELLIOT B. KOFFMAN and PAUL A. T. WOLFGANG. THIRD EDITION.

Attachment:- Ziyad_Project.zip

Reference no: EM131299417

Questions Cloud

Discuss the main goal of the paper : 1. Discuss the main goal of the paper. 2. Discuss why we may expect positive effects in the long run and why we may also expect negative effects. 3. Describe the health product studied in the paper
Briefly introduce the company you have chosen to research : Briefly introduce the company you have chosen to research. Summarize the two articles you found in the CSU Online Library. Describe how these companies are using electronic media and e-mail.
At what point would lending loop become a financially viable : At what point would Lending Loop become a financially viable business, or was more funding needed for marketing to scale the platform?
Determine a probable price : This case is about structuring the financing. You do not need to change the FCF or value unless you really feel they missed something. You will need to construct a financing schedule. Determine a probable price
Define your own recursive implementation of linklist : Define your own recursive implementation of LinkList in a separate file called "RecLinkedList.java". Create an object of RecLinkedList to be used in storing and handling employees' data.
Physicians incentive pay to offer better customer : The British government offered physicians incentive pay to offer better customer (patient) service, such as managing appointments better. In particular, physicians can score "points" by seeing a patient within 48 hours after making an appointment...
Government offered physicians incentive pay : The British government offered physicians incentive pay to offer better customer (patient) service, such as managing appointments better. In particular, physicians can score "points" by seeing a patient within 48 hours after making an appointment.
Velocity of money circulation : During the 1960s, 1970s, and 1980s, the velocity of money circulation (of M2) was constant. The growth rate of real GDP slowed from 5 percent annual growth rate in the fast-expanding 1960s to a more moderate pace of 3 percent annually during the 1..
Use of ibuprofen as a painkiller : What does this finding lead you to conclude about the use of ibuprofen as a painkiller?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Create a java class called watertank

Create a Java class called WaterTank.java. This program will simulate thedraining of a cylindrical water catchment tank. Your program will need to show how the rate at which water would exit the tank, assuming an output nozzle two inches (2") in d..

  Hashtable and the hashmap

In JAVA programming: What are the differences between a Hashtable and the HashMap? Few examples

  Eplain the main purpose of using javascript on a website

question 1 what is the purpose of using javascript on a website? what is a specific example of a javascript

  Develop a java based gui application using swing that

develop a java based gui applicationusing swing that allows the user to enter charityfund informationwrite the

  Output the number of vowels

Prompt the user to enter a string, and using a loop, count and output the number of vowels, and consonants the string contains. (You have to find methods from class.)

  Implements simulation for movie borrowing and return system

For this assignment you need to write a console application in the Java programming language which implements a simulation for a movie borrowing and return system for the video store MovieMaster. The staff at MovieMaster will need to be able to ma..

  1 what makes a program easy to modify2 describe the order

1. what makes a program easy to modify?2. describe the order of magnitude of the following code section using bigo

  Write java program to print strings given at command line

Write a program Average.java which just prints strings that it is given at command line, one per line. If nothing is given at command line, print "No arguments".

  What would be classes of the following objects

What types of values do the following modules/methods return, and what type of arguments do they take?

  Bull write a blog article for a coding and technical

bull write a blog article for a coding and technical community blog.bull the length of the article is to be between 500

  Album name instance variable

Design a CD class where a CD object represents a single music CD. What kinds of information (artist, genre, total playing time, etc.) do you want to know about a CD?StateAlbum Name instance variable

  Point of sale terminal

a software implementation of a Point of Sale terminal at a typical store. The users of the system are the cashiers sitting at the sales terminals of the store. The users can use the system to manage sales items in the store, customer details and of c..

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd