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
- Give Java Code that finds the number of children using the sequential representation, Linked Implementations Using Array of Child Pointers implementation, linked implementation left-child/right-sibling.
Count word dominators def count_word_dominators(words): If you already solved the earlier count_dominators problem, you might notice that even though the problem was originally stated for lists of integers, the logic of domination did not depend on this fact in any way. As long as the individual elements can be compared with each other for order, the Pythonic spirit of duck typing allows the very same count_dominators function to handle a list of strings just as smoothly as it would handle a list of integers! For example, the function call count_dominators(['dog','emu','cat','bee']) would return 3, since 'emu', 'cat'and 'bee' dominate all words coming after them in the list when using the lexicographic order comparison. If your count_dominators function does not already pass this hurdle, try to rewrite it to contain no baked-in assumptions about elements being specifically integers. However, things become more interesting if we define domination between words of equal length with a…
Q 4    Computer Science Write a Java generic Class with user-defined method(s) to exchange the positions of two different elements in an Array List.
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