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: 9780134700144
Author: 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
(Generic binary search) Implement the following method using binary search. public static <E extends Comparable<E>>    int binarySearch(E[] list, E key)   Note:- Please type this java code fully running and also need an output for this given code.
(Algebra: perfect square ) Write a program that prompts the user to enter an integer m and find the smallest integer n such that m * n is a perfect square. (Hint: Store all smallest factors of m into an array list. n is the product of the factors that appear an odd number of times in the array list. For example, consider m = 90, store the factors 2, 3, 3, 5 in an array list. 2 and 5 appear an odd number of times in the array list. So, n is 10.) Sample Run 1 Enter an integer m: 1500 The smallest number n for m x n to be a perfect square is 15 m x n is 22500 Sample Run 2 Enter an integer m: 63 The smallest number n for m x n to be a perfect square is 7 m x n is 441 Class Name: Exercise11_17   Answer is : import java.util.Scanner; public class Squares {   public static void main(String[] args) {       Scanner scan = new Scanner(System.in); //instantiation of Scanner that will take inputs from the keyboard        //the try catch block below is for trapping error with the input       try {…
(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