Java: An Introduction To Problem Solving And Programming Plus Mylab Programming With Pearson Etext -- Access Card Package (8th Edition)
8th Edition
ISBN: 9780134710754
Author: Walter Savitch
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 12, Problem 9PP
Program Plan Intro
Doubly linked list
Program Plan:
“DoublyLinkedList.java”:
- Define “DoublyLinkedList” class.
- Declare required variables.
- Default constructor for “DoublyLinkedList” class.
- Define the method “length”.
- Declare required variable.
- Check condition using “while” loop.
- Return the result of count value
- Define “addANodeToStart” method.
- Declare variable by using “ListNode” class.
- Assign value to head.
- If tail is null, then assign tail to head.
- If old head is not null, then set the values to link value at head and previous value at old head node.
- Define “getDataAtCurrent” method.
- If current is not null, then returns the data at current.
- Otherwise, display the given error message.
- Finally returns the null value.
- Define “resetIteration” method.
- This method is used to set current to head.
- Define “moreToIterate” method.
- This method is used to return the result of “current != null”.
- Define “goToNext” method.
- If current is not null, then set current value to link value at current.
- If head is not null, then display given message.
- Define “goToPrevious” method.
- If current is not null, then set current to previous value at current.
- If head is not null, then display given error statement.
- Define “insertNodeAfterCurrent” method.
- Declare required variables.
- If tail is equal to current, then set tail to new node.
- If current is not null, then set given values to given variables.
- If the link value at new node is not null, then set the value to new node.
- If the value of head is not null, then display given error message.
- If the link value at new node is not null, then set the value to new node.
- Define “deleteCurrentNode” method.
- Declare variable using “ListNode” class.
- If tail is equal to current and current is not null, then set tail to previous value at current node.
- If current and previous value at current node is not null, then set values for given variables.
- If current is not null and previous value at current node is null, then set values for head node.
- Otherwise, that is if current is equal to null, then display error message.
- Define “deleteHeadNode” method.
- If tail is equal to head, then set tail to null.
- If head is not null, then assign values for head.
- Otherwise, display error message.
- Define “findInList” method.
- Declare required variables.
- Check condition using “while” loop.
- Get the data position by calling the method “getData” and then store it to a variable “data_position”.
- If the position of data is equals to target node, then set “current” to “location” and then return true.
- Then get the location by calling the method “getLink”.
- Finally assign the “current” to “null” and return “false”.
- Define “onList” method.
- This method returns the result of “Find(target_node) != null”.
- Define “Find” method.
- Declare required variables.
- Check condition using “while” loop.
- Define “showList” method.
- Declare required variables.
- Display the data at each location using “while” loop.
- Define “displayListValues” method.
- This method is used to return the values in head, current, tail and number of items in list.
- Define node class “ListNode”.
- Declare required variables
- Define constructor for “ListNode” class.
- Define parameterized constructor for “ListNode” class.
- Define set and get method for data and link.
“DoublyLinkedListTest.java”:
- Define “DoublyLinkedListTest” class.
- Define main function.
- Assign result to “false”.
- Create an object for “DoublyLinkedList” class.
- Display the values in list by calling the method “displayListValues”.
- Add a name “John” to “nameList” by calling the method “addANodeToStart”.
- After adding, display the values in list by calling the method “displayListValues”.
- Reset the iteration for given list by calling the method “resetIteration”.
- Add a name “Merry” to “nameList” by calling the method “addANodeToStart”.
- After adding, display the values in list by calling the method “displayListValues”.
- Go to next node by calling the method “goToNext”.
- Add a name “Rose” to “nameList” by calling the method “addANodeToStart”.
- After adding, display the values in list by calling the method “displayListValues”.
- Display the list by calling “showList” method.
- Reset the iteration for given list by calling the method “resetIteration”.
- Go to next node by calling the method “goToNext”.
- After adding, display the values in list by calling the method “displayListValues”.
- Add a name “Jansi” to “nameList” by calling the method “addANodeToStart”.
- After adding, display the values in list by calling the method “displayListValues”.
- Display the list by calling “showList” method.
- Go to next node by calling the method “goToNext”.
- Delete first node by calling “deleteHeadNode” method.
- After deleting, display the list by calling “showList” method.
- Go to next node by calling the method “goToNext”.
- Add a name “Rosie” to “nameList” by calling the method “addANodeToStart”.
- Go to next node by calling the method “goToNext”.
- Add a name “Joshph” to “nameList” by calling the method “addANodeToStart”.
- After adding, display the values in list by calling the method “displayListValues”.
- Display the list by calling “showList” method.
- Go to previous node by calling the method “goToPrevious”.
- Display the values in list by calling the method “displayListValues”.
- Display the list by calling “showList” method.
- Go to previous node by calling the method “goToPrevious”.
- Get the current node by calling the method “getDataAtCurrent”.
- Delete node at current by calling the method “deleteCurrentNode”.
- After deleting, display the values in list by calling the method “displayListValues” and method “showList”.
- Add a name “Jack” to beginning of “nameList” by calling the method “addANodeToStart”.
- After deleting, display the values in list by calling the method “displayListValues” and method “showList”.
- Iterate to the end of list using “while” loop. After iterating, display the values in list by calling the method “displayListValues”.
- Iterate the list in reverse by calling “resetIterationReverse” method.
- After reverse iteration, display the values in list by calling the method “displayListValues”.
- Delete the current node by calling “deleteCurrentNode” method.
- After deleting current node, display the values in list by calling the method “displayListValues” and method “showList”.
- Check if “Rose” is found in list or not by calling “findInList” method. If the given name found, then display the message “Found”. Otherwise, display “Not found”.
- After performing check condition, display the values in list by calling the method “displayListValues” and method “showList”.
- Check if “Josph” is found in list or not by calling “findInList” method. If the given name found, then display the message “Found”. Otherwise, display “Not found”.
- After performing check condition, display the values in list by calling the method “displayListValues” and method “showList”.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
In Java
I have an input in a text file that I can't submit here. So, please use it as input.txt
Perceptual acuity, according to Ram Charan, explains how Ted Turner became the first CEO to recognize the potential of 24-hour news and thereby created CNN.
a) True
b) False
As described in Learning from Mistakes, the failure of the A380 to reach its sales goals was due to
Multiple Choice:
a) misunderstanding of supplier demands.
b) good selection of hotel in the sky amenities.
c) changes in customer demands.
d) lack of production capacity.
Chapter 12 Solutions
Java: An Introduction To Problem Solving And Programming Plus Mylab Programming With Pearson Etext -- Access Card Package (8th Edition)
Ch. 12.1 - Suppose aList is an object of the class...Ch. 12.1 - Prob. 2STQCh. 12.1 - Prob. 3STQCh. 12.1 - Prob. 4STQCh. 12.1 - Can you use the method add to insert an element at...Ch. 12.1 - Prob. 6STQCh. 12.1 - Prob. 7STQCh. 12.1 - If you create a list using the statement...Ch. 12.1 - Prob. 9STQCh. 12.1 - Prob. 11STQ
Ch. 12.1 - Prob. 12STQCh. 12.2 - Prob. 13STQCh. 12.2 - Prob. 14STQCh. 12.2 - Prob. 15STQCh. 12.2 - Prob. 16STQCh. 12.3 - Prob. 17STQCh. 12.3 - Prob. 18STQCh. 12.3 - Prob. 19STQCh. 12.3 - Write a definition of a method isEmpty for the...Ch. 12.3 - Prob. 21STQCh. 12.3 - Prob. 22STQCh. 12.3 - Prob. 23STQCh. 12.3 - Prob. 24STQCh. 12.3 - Redefine the method getDataAtCurrent in...Ch. 12.3 - Repeat Question 25 for the method...Ch. 12.3 - Repeat Question 25 for the method...Ch. 12.3 - Repeat Question 25 for the method...Ch. 12.4 - Revise the definition of the class ListNode in...Ch. 12.4 - Prob. 30STQCh. 12.5 - What is the purpose of the FXML file?Ch. 12.5 - Prob. 32STQCh. 12 - Repeat Exercise 2 in Chapter 7, but use an...Ch. 12 - Prob. 2ECh. 12 - Prob. 3ECh. 12 - Repeat Exercises 6 and 7 in Chapter 7, but use an...Ch. 12 - Write a static method removeDuplicates...Ch. 12 - Write a static method...Ch. 12 - Write a program that will read sentences from a...Ch. 12 - Repeat Exercise 12 in Chapter 7, but use an...Ch. 12 - Write a program that will read a text file that...Ch. 12 - Revise the class StringLinkedList in Listing 12.5...Ch. 12 - Prob. 12ECh. 12 - Write some code that will use an iterator to...Ch. 12 - Prob. 14ECh. 12 - Write some code that will use an iterator to...Ch. 12 - Prob. 17ECh. 12 - Revise the method selectionSort within the class...Ch. 12 - Repeat the previous practice program, but instead...Ch. 12 - Repeat Practice Program 1, but instead write a...Ch. 12 - Write a program that allows the user to enter an...Ch. 12 - Write a program that uses a HashMap to compute a...Ch. 12 - Write a program that creates Pet objects from data...Ch. 12 - Repeat the previous programming project, but sort...Ch. 12 - Repeat the previous programming project, but read...Ch. 12 - Prob. 9PPCh. 12 - Prob. 10PPCh. 12 - Prob. 11PPCh. 12 - Prob. 12PPCh. 12 - Prob. 13PPCh. 12 - Prob. 14PPCh. 12 - Prob. 15PP
Knowledge Booster
Similar questions
- Numerous equally balanced competitors selling products that lack differentiation in a slow growth industry are most likely to experience high: a) intensity of rivalry among competitors. b) threat of substitute products. c) threat of new entrants. d) bargaining power of suppliers.arrow_forwardA Dia file has been created for you to extend and can be found on Company.dia represents a completed ER schema which, models some of the information implemented in the system, as a starting point for this exercise. Understanding the ER schema for the Company database. To demonstrate that you understand the information represented by the schema, explain using EMPLOYEE, DEPARTMENT, PROJECT and DEPENDENT as examples: attributes, entities and relationships cardinality & participation constraints on relationships You should explain questions a and b using the schema you have been given to more easily explain your answers. Creating and Extending Entity Relationship (EER) Diagrams. To demonstrate you can create entity relationship diagrams extend the ER as described in Company.dia by modelling new requirements as follows: Create subclasses to extend Employee. The employee type may be distinguished further based on the job type (SECRETARY, ENGINEER, MANAGER, and TECHNICIAN) and based…arrow_forwardComputer programs can be very complex, containing thousands (or millions) of lines of code and performing millions of operations per second. Given this, how can we possibly know that a particular computer program's results are correct? Do some research on this topic then think carefully about your response. Also, explain how YOU would approach testing a large problem. Your answer must be thoughtful and give some insight into why you believe your steps would be helpful when testing a large program.arrow_forward
- Could you fix this? My marker has commented, What's missing? The input list is the link below. https://gmierzwinski.github.io/bishops/cs321/resources/CS321_Assignment_1_Input.txt result.put(true, dishwasherSum); result.put(false, sinkSum); return result; }}arrow_forwardPLEG136: Week 5 Portofolio Project Motion to Compelarrow_forwardB A E H Figure 1 K Questions 1. List the shortest paths between all node pairs. Indicate the number of shortest paths that pass through each edge. Explain how this information helps determine edge betweenness. 2. Compute the edge betweenness for each configuration of DFS. 3. Remove the edge(s) with the highest betweenness and redraw the graph. Recompute the edge betweenness centrality for the new graph. Explain how the network structure changes after removing the edge. 4. Iteratively remove edges until at least two communities form. Provide step-by-step calculations for each removal. Explain how edge betweenness changes dynamically during the process. 5. How many communities do you detect in the final step? Compare the detected communities with the original graph structure. Discuss whether the Girvan- Newman algorithm successfully captures meaningful subgroups. 6. If you were to use degree centrality instead of edge betweenness for community detection, how would the results change?arrow_forward
- Unit 1 Assignment 1 – Loops and Methods (25 points) Task: You are working for Kean University and given the task of building an Email Registration System. Your objective is to generate a Kean email ID and temporary password for every new user. The system will prompt for user information and generate corresponding credentials. You will develop a complete Java program that consists of the following modules: Instructions: 1. Main Method: ○ The main method should include a loop (of your choice) that asks for input from five users. For each user, you will prompt for their first name and last name and generate the email and password by calling two separate methods. Example о Enter your first name: Joe Enter your last name: Rowling 2.generateEmail() Method: This method will take the user's first and last name as parameters and return the corresponding Kean University email address. The format of the email is: • First letter of the first name (lowercase) + Full last name (lowercase) +…arrow_forwardI have attached my code, under I want you to show me how to enhance it and make it more cooler and better in graphics with following the instructions.arrow_forwardUsing R languagearrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- New Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningNp Ms Office 365/Excel 2016 I NtermedComputer ScienceISBN:9781337508841Author:CareyPublisher:CengageProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Np Ms Office 365/Excel 2016 I Ntermed
Computer Science
ISBN:9781337508841
Author:Carey
Publisher:Cengage
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage