Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a java code for selection sort algorithm using Comparable or Comparator in

ID: 3717235 • Letter: W

Question

Write a java code for selection sort algorithm using Comparable or Comparator interface. Show that your algorithms work by creating an array of Circles and sorting them based on the radius.
Write a java code for selection sort algorithm using Comparable or Comparator interface. Show that your algorithms work by creating an array of Circles and sorting them based on the radius.
Write a java code for selection sort algorithm using Comparable or Comparator interface. Show that your algorithms work by creating an array of Circles and sorting them based on the radius.

Explanation / Answer

Circle.java

public class Circle implements Comparable<Circle>{

  

//Declaring instance variables

private double radius;

//Zero argumented constructor

public Circle() {

}

//Parameterized constructor

public Circle(double radius) {

this.radius = radius;

}

// getters and setters

public double getRadius() {

return radius;

}

public void setRadius(double radius) {

this.radius = radius;

}

public double getArea() {

return radius*radius*Math.PI;

}

public double getPerimeter() {

return 2*radius*Math.PI;

}

public double getDiameter()

{

return 2*radius;

}

/* This compareTo method will compare

* the radius of two circles and return the result.

*

*/

public int compareTo(Circle o) {

int val = 0;

double originalCircleRadius = getRadius();

Circle c = (Circle) o;

double radius = c.getRadius();

if (originalCircleRadius > radius)

val = 1;

else if (originalCircleRadius < radius)

val = -1;

else if (originalCircleRadius == radius)

val = 0;

return val;

}

}

____________________

DriverClass.java

import java.util.ArrayList;

import java.util.Scanner;

public class DriverClass {

public static void main(String[] args) {

//Creating an ArrayList Which holds Circle Class objects

ArrayList<Circle> arl=new ArrayList<Circle>();

arl.add(new Circle(5.5));

arl.add(new Circle(4.5));

arl.add(new Circle(3.5));

arl.add(new Circle(2.5));

arl.add(new Circle(6.5));

arl.add(new Circle(7.5));

arl.add(new Circle(4.0));

//Displaying the Circles before and After Sorting

System.out.println("____ Before Sorting ___");

display(arl);

sort(arl);

System.out.println("____ After Sorting ___");

display(arl);

}

//This method will Display the ArrayList

private static void display(ArrayList<Circle> arl) {

for(int i=0;i<arl.size();i++)

{

System.out.println("Circle#"+(i+1)+": Radius:"+arl.get(i).getRadius());

}

}

//This method will Display the ArrayList Elements based on Radius

private static void sort(ArrayList<Circle> arl) {

// Bubble sort

for (int i = 0; i < arl.size(); i++) {

for (int j = arl.size() - 1; j > i; j--) {

if (arl.get(j - 1).compareTo(arl.get(j)) > 0) {

Circle temp = arl.get(j);

arl.set(j, arl.get(j - 1));

arl.set(j - 1, temp);

}

}

}

}

}

____________________

Output:

____ Before Sorting ___
Circle#1: Radius:5.5
Circle#2: Radius:4.5
Circle#3: Radius:3.5
Circle#4: Radius:2.5
Circle#5: Radius:6.5
Circle#6: Radius:7.5
Circle#7: Radius:4.0
____ After Sorting ___
Circle#1: Radius:2.5
Circle#2: Radius:3.5
Circle#3: Radius:4.0
Circle#4: Radius:4.5
Circle#5: Radius:5.5
Circle#6: Radius:6.5
Circle#7: Radius:7.5

______________Thank You

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote