Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
11th Edition
ISBN: 9780134670942
Author: Y. Daniel Liang
Publisher: PEARSON
bartleby

Concept explainers

Question
Book Icon
Chapter 23, Problem 23.1PE
Program Plan Intro

Generic bubble sort

Program Plan:

  • Import the required packages.
  • Create a class “Sorting”:
    • Method to sort the numbers gets defined.
    • Call the method bubble sort that implements the comparable interface.
    • Method to sort the string given.
    • Call the method bubble sort to implement the comparator interface.
    • Loop that iterates to sort the values of the list.
    • Perform swap operation by comparing the list.
    • Return the sorted list.
  • Define the main method
    • Initialize the list that needs to be sorted.
    • Call the bubble sort.
    • Display the sorted list.
    • Initialize list that contain strings.
    • Call the method bubble sort.
    • Display the sorted list.

Expert Solution & Answer
Check Mark
Program Description Answer

The below program is perform a generic bubble sort.

Explanation of Solution

Program:

//define the required packages

import java.util.Comparator;

//define the class sorting

public class Sorting

{

//method to sort the numbers

public static <E extends Comparable<E>> void bubbleSort(E[] list)

{

//perform bubble sort

bubbleSort(list, (e1, e2) -> ((Comparable<E>)e1).compareTo(e2));

}

//method definition

public static <E> void bubbleSort(E[] list,

Comparator<? super E> comparator)

{

//declare the necessary variables

boolean needNextPass = true;

/*loop that iterates to sort the elements of the array*/

for (int k = 1; k < list.length && needNextPass; k++)

{

/*condition when the given array is sorted*/

needNextPass = false;

for (int i = 0; i < list.length - k; i++)

{

/*condition to validate the elements*/

if (comparator.compare(list[i], list[i + 1]) > 0)

{

// swap the elements

E temp = list[i];

//assign values

list[i] = list[i + 1];

//assign the value

list[i + 1] = temp;

/*assign value for the next path*/

needNextPass = true;

}

}

}

}

//define the values

public static void main(String[] args)

{

//define anew list

Integer[] new_list = {-8, 10, 5, 7, 14, 12, -12, 31, 141, 102};

//call the method bubble sort

bubbleSort(new_list);

//loop that iterates to sort the list

for (int i = 0; i < new_list.length; i++)

{

//display the list

System.out.print(new_list[i] + " ");

}

System.out.println();

//define anew list

String[] new_list1 = {"Sorting", "Data", "Fun", "Happy", "Programming", "Nice"};

//call bubble sort

bubbleSort(new_list1, (s1, s2) -> s1.compareToIgnoreCase(s2));

//loop that iterates to sort the values

for (int i = 0; i < new_list1.length; i++)

{

//display the list

System.out.print(new_list1[i] + " ");

}

}

}

Sample Output

-12 -8 5 7 10 12 14 31 102 141

Data Fun Happy Nice Programming Sorting

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
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)    void isEmpty() This method will return true if the linked list is empty, otherwise return false. void clear() This method will empty your linked list. Effectively, this should and already has been called in your destructor (i.e., the ~LinkedList() method) so that it will deallocate the nodes created first before deallocating the linked list itself.
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…
(Implement a doubly linked list) The MyLinkedList class used in Listing 24.6 is a one-way directional linked list that enables one-way traversal of the list. Modify the Node class to add the new data field name previous to refer to the previous node in the list, as follows:public class Node<E> { E element; Node<E> next; Node<E> previous;public Node(E e) { element = e; } }Implement a new class named TwoWayLinkedList that uses a doubly linked list to store elements. The MyLinkedList class in the text extends MyAbstractList. Define TwoWayLinkedList to extend the java.util.AbstractSequentialList class. You need to implement all the methods defined in MyLinkedList as well as the methods listIterator() and listIterator(int index). Both return an instance of java.util. ListIterator<E>. The former sets the cursor to the head of the list and the latter to the element at the specified index.
Knowledge Booster
Background pattern image
Computer Science
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
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education