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

  Need of arrays and list

why do we need arrays and list and why are they important?

  Create java applet to represent grade of gas

Write a java applet (not a java application program) for costco gas station. The applet will first ask you whether you are a costco customer, then the grade of gas you want to use.

  Write a program that displays all the numbers

Write a program that displays all the numbers from 100 to 200, ten per line, that are divisible by 5 or 6, but not both. Numbers are separated by exactly one space

  Error handling into the login process

In this lab, we will incorporate error handling into the login process so that a notice of each invalid login is automatically e-mailed to the technical support staff

  Writing a program that parses

The programming project involves writing a program that parses, using recursive descent, a GUI definition language defined in an input file and generates the GUI that it defines.

  Implement a shopping cart class with user interface

project will be to implement a shopping cart class with user interface (UI) that contains main() in Net Beans. The UI class will be used to perform user input/output and to invoke the appropriate methods of shopping cart class. When your program star..

  Discuss the questions related to java programming

Discuss the Questions related to JAVA programming:Create a class called Employee that includes three instance variables-a first name (type String), a last name (type String) and a monthly salary (double). Provide a constructor that initializes the ..

  Write a script that splits the sentences into chunks based

There are number sentences in the attached file. The words in these sentences are annotated with set of tags. I would like to have a script that splits the sentences into chunks based on the annotation tags (tag1 and tag2). The splitted chunks must b..

  Definition of a method named copy receives

Write the definition of a method named copy receives a reference to a Scanner object associated with a stream of input. The method reads all the Strings remaining to be read from the stream and displays them

  Explain how parameter passing by value and by reference

Briefly explain how parameter passing by value and by reference is accomplished in memory. Write statement 1 to call Method A below.

  Provide platform portability for developing applications

How does Java provide platform portability for developing applications? Describe the process of creating Java applications using Java SE and an IDE

  Write java program to enter number of marks

Write a java program called AverageMark.java. This program should allow the user to enter any number of marks and then display the minimum, maximum & average mark.

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