Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
11th Edition
ISBN: 9780134670942
Author: Y. Daniel Liang
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 23, Problem 23.2PE
Program Plan Intro
Generic merge sort
Program Plan:
- Import the required packages.
- Create a class “Sorting”:
- Method to sort the numbers gets defined.
- Call the method merge sort that implements the comparable interface.
- Method to sort the string given.
- Define the main method
- Initialize the list that needs to be sorted.
- Call the merge sort.
- Display the sorted list.
- Initialize list that contain strings.
- Call the method merge sort.
- Display the sorted list.
- Define the method “mergeSort()”
- Condition to validate the list contains more than one element.
- First half of the list is sorted by calling the merge1 method
- Loop that iterates to sort the values of the list.
- Second half of the list is sorted by calling the merge method
- Loop that iterates to sort the values of the list.
- Both the list gets merged.
- Define the method “merge1()”
- Perform swap operation by comparing the list.
- Return the value.
Expert Solution & Answer
Trending nowThis is a popular solution!
Students have asked these similar questions
Topic: Singly Linked ListImplement the following functions in C++ program. Read the question carefully. (See attached photo for reference)
int count(int num)
This will return the count of the instances of the element num in the list. In the linked list in removeAll method, having the method count(10) will return 3 as there are three 10's in the linked list.
Additionally, you are to implement these methods:
bool move(int pos1, int pos2)
This method will move the element at position pos1 to the position specified as pos2 and will return true if the move is successful. This will return false if either the specified positions is invalid. In the example stated, operating the method move(1, 3) will move the 1st element and shall now become the 3rd element. The linked list shall now look like: 30 -> 40 -> 10 -> 50
int removeTail()
This method will remove the last element in your linked list and return the said element. If the list is empty, return 0. You can use the…
java program:
University of Bahrain
College of Information Technology
Department of Computer Science
Second Semester, 2020-2021
ITCS214 / ITCS215 / ITCS216 (Data Structures)
Assignment 3
Implement generic class ArrayStack as discussed in the lectures having following methods:
constructor, push, pop, peek, isEmpty, copy constructor, reallocate (private method).
Also add following methods to this class:
size: returns number of elements in the stack.
contains: Search an element in the stack. If found returns true, else returns false.
clear: Deletes all elements of the stack and make it empty stack.
Implement generic class ArrayQueue as discussed in the lectures having following methods:
constructor, copy constructor, offer, poll, peek, isEmpty, reallocate(private), iterator.
Inner class Iter that implements interface Iterator having methods: constructor, hasNext, next.
Also add following methods to the ArrayQueue class:
size: returns number of elements in the queue.
contains: Search…
Topic: SIngly Linked ListUsing C++ Programming, improve the implemented following function. Initial code is attached below.
int count(int num)
This will return the count of the instances of the element num in the list. In the linked list in removeAll method, having the method count(10) will return 3 as there are three 10's in the linked list.
int count(int num) {
int count = 0;
for(int i=1; i<index;i++){
if(get(i)== num){
count++;
}
}
return count;
}
OUTPUT: 1 2 3 4 5 6 7 8 9 2 0 0 10 -> 30 -> 40 -> 10 -> 20 -> 40 -> 10
EXPECTED OUT PUT:
1 2 3 4 5 6 7 8 9 2 10 40 10 -> 30 -> 40 -> 10 -> 20
Chapter 23 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Ch. 23.2 - Prob. 23.2.1CPCh. 23.2 - Prob. 23.2.2CPCh. 23.2 - Prob. 23.2.3CPCh. 23.3 - Prob. 23.3.1CPCh. 23.3 - Prob. 23.3.2CPCh. 23.3 - Prob. 23.3.3CPCh. 23.4 - Prob. 23.4.1CPCh. 23.4 - Prob. 23.4.2CPCh. 23.4 - What is wrong if lines 615 in Listing 23.6,...Ch. 23.5 - Prob. 23.5.1CP
Ch. 23.5 - Prob. 23.5.2CPCh. 23.5 - Prob. 23.5.3CPCh. 23.5 - Prob. 23.5.4CPCh. 23.6 - Prob. 23.6.1CPCh. 23.6 - Prob. 23.6.2CPCh. 23.6 - Prob. 23.6.3CPCh. 23.6 - Prob. 23.6.4CPCh. 23.6 - Prob. 23.6.5CPCh. 23.6 - Prob. 23.6.6CPCh. 23.6 - Prob. 23.6.7CPCh. 23.6 - Prob. 23.6.8CPCh. 23.6 - Prob. 23.6.9CPCh. 23.7 - Prob. 23.7.1CPCh. 23.7 - Prob. 23.7.2CPCh. 23.8 - Prob. 23.8.1CPCh. 23 - Prob. 23.1PECh. 23 - Prob. 23.2PECh. 23 - Prob. 23.3PECh. 23 - (Improve quick sort) The quick-sort algorithm...Ch. 23 - (Check order) Write the following overloaded...Ch. 23 - Prob. 23.7PECh. 23 - Prob. 23.8PECh. 23 - Prob. 23.10PECh. 23 - Prob. 23.11PECh. 23 - Prob. 23.12PECh. 23 - Prob. 23.13PECh. 23 - (Selection-sort animation) Write a program that...Ch. 23 - (Bubble-sort animation) Write a program that...Ch. 23 - (Radix-sort animation) Write a program that...Ch. 23 - (Merge animation) Write a program that animates...Ch. 23 - (Quicksort partition animation) Write a program...Ch. 23 - (Modify merge sort) Rewrite the mergeSort method...
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Implement the following function using C++ remove_redundant() This method will clear out the duplicate numbers in your linked list. It is also imperative that you will use an instance of this Linked List class to hold the numbers that you have already checked and use the methods in this instance. In the example 10 -> 10 -> 20 -> 30 -> 10, calling remove_redundant() will remove the other 2 10's that occurred later, hereby making the list 10 -> 20 -> 30. Limitation: You cannot have a nested loop here nor use methods that employ loops as the performance of our linked list will suffer.arrow_forwardEXPLAIN THE FLOW OF THE MAIN CODE (THE CODE IS ALREADY CORRECT YOU JUST NEED TO EXPLAIN THE FLOW) #include <iostream>#include "linkedlist.h" /** * This activity is focused on using Arrays and Linked Lists as two different * implementations of List. It follows that you are only to use the methods of * List and not of the specific array or linkedlist. */int main(void) { // WARNING! Do not modify this line up until line 22! // Doing so will nullify your score for this activity. // Also, do not create more instances of ArrayList or LinkedList // aside from those in lines 19 and 21. char li; cin >> li; List* list; if (li == 'A') { list = new ArrayList(); } else { list = new LinkedList(); } char sym; int arg1; int arg2; int count; int sum; // You may want to insert a loop here do{ cin >> sym; switch (sym) { case '?': cin >> arg1; cout << list->get(arg1)…arrow_forwardInstructions: Implement a merge sort in Java, creating a class to hold the main method as well as the mergesort method (which should be a static method). The mergesort method should be able to use any Collection object and it should return a Collection that contains the contents of the original Collection, but in sorted order. The program must ask the user for the data to sort, using numeric data in this case, but your mergesort method must be capable of working with any Collection of Comparable objects. Use recursion.arrow_forward
- Extend the class linkedListType by adding the following operations: Write a function that returns the info of the kth element of the linked list. If no such element exists, terminate the program. Write a function that deletes the kth element of the linked list. If no such element exists, terminate the program. Provide the definitions of these functions in the class linkedListType. Also, write a program to test these functions. (Use either the class unorderedLinkedList or the class orderedLinkedList to test your function.)arrow_forwardData structure and algorithms. DYNAMIC DATA STRUCTURE LINKED LIST. PURPOSE OF WORK : Consolidation of knowledge on the theoretical foundations of presentation of data in the form of links, classification of lists, learning to solve problems using the LIST standard template library in C++. Task : Write a program to process a linked list from the standard template library. Perform an individual task as a separate function. Implementation of automatic filling and display functions with random data in the program. The task is : The list is given. Create a function to calculate the arithmetic mean value of the elements of the list equal to the Fibonacci number.arrow_forward(Sort ArrayList) Write the following method that sorts an ArrayList: public static <E extends Comparable<E>> void sort(ArrayList<E> list) Write a test program that prompts the user to enter 10 integers, invokes this method to sort the numbers, and displays the numbers in increasing order. Sample Run Enter 10 integers: 3 4 12 7 3 4 5 6 4 7 The sorted numbers are 3 3 4 4 4 5 6 7 7 12 Class Name: Exercise19_09arrow_forward
- Use C++ Programming language: Design and implement your own linked list class to hold a sorted list of integers in ascending order. The class should have member functions for inserting an item in the list (in ascending order), deleting an item from the list, and searching the list for an item. Note: the search function should return the position of the item in the list (first item at position 0) and -1 if not found. In addition, it should have member functions to display the list, check if the list is empty, and return the length of the list. Be sure to have a class constructor a class destructor, and a class copy constructor for deep copy. Demonstrate your class with a driver program (be sure to include the following cases: insertion at the beginning, end (note that the list should alway insert in ascending order. However, in your test include a case where the inserted item goes at the beginning of the list), and inside the list, deletion of first item, last item, and an item…arrow_forwardThe statement "Linear collection of self-referential class objects, called nodes, connected by pointer links" is best describing a/an 7. O A. data structure B. union O c. array list O D. linked listarrow_forwardIntroduction For this assignment, you are to write a program which implements a Sorted List data structure using a circular array-based implementation and a driver program that will test this implementation. The Sorted List ADT is a linear collection of data in which all elements are stored in sorted order. Your implementation has to store a single int value as each element of the list and support the following operations: 1. add(x) – adds the integer x to the list. The resulting list should remain sorted in increasing order. The time complexity of this operation should be 0(N), where N is the size of the list. 2. removefirst() - deletes the first integer from the list and returns its value. The remaining list should remain sorted. Time complexity of this operation should be 0(1). 3. removelast() – deletes the last integer from the list and returns its value. The remaining list should remain sorted. Time complexity of this operation should be 0(1). 4. exists(x) – returns true if the…arrow_forward
- Design a generic function that returns a minimum element from an array. The function should have two parameters. One is the array of a generic type, and the other is the size of the array. Test the function with an array of int, double, and string values.arrow_forwardDefine the term " pointer generic " .arrow_forward(Please Help. My professor did not teach us any of this and will not answer my emails) Design a class named Queue for storing integers. Like a stack, a queue holds elements. In a stack, the elements are retreived in a last-in-first-out fashion. In a queue, the elements are retrieved in a first-in-first-out fashion. The class contains: An int[] data field named elements that stores the int values in the queue A data field named size that stores the number of elements in the queue A constructor that creates a Queue object with defult capacity 8 The method enqueue(int v) that adds v into the queue The method empty () that returns true if the queue is empty The method getSize() that returns the size of the queuearrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education