Skip to content

Commit

Permalink
docs: adding subject and main
Browse files Browse the repository at this point in the history
  • Loading branch information
amin authored and zanninso committed Jul 3, 2024
1 parent 6f39f29 commit caa684e
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 0 deletions.
17 changes: 17 additions & 0 deletions subjects/java/checkpoints/flexisort/ExerciseRunner.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
public class ExerciseRunner {
public static void main(String[] args) {
int[] array = {64, 34, 25, 12, 22, 11, 90};

// Test BubbleSort
Sorter bubbleSorter = new BubbleSort();
bubbleSorter.setArray(array.clone());
bubbleSorter.sort();
System.out.println("BubbleSorted array: " + Arrays.toString(bubbleSorter.getArray()));

// Test InsertionSort
Sorter insertionSorter = new InsertionSort();
insertionSorter.setArray(array.clone());
insertionSorter.sort();
System.out.println("InsertionSorted array: " + Arrays.toString(insertionSorter.getArray()));
}
}
78 changes: 78 additions & 0 deletions subjects/java/checkpoints/flexisort/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
## Flexisort

### Instructions

Create an abstract class `Sorter` that will be used as a base class for sorting algorithms. This class should have an abstract method `sort` that will be implemented by its child classes. Additionally, it should have methods to set and get the array to sort.

Implement two child classes:

- `BubbleSort` which implements the bubble sort algorithm.
- `InsertionSort` which implements the insertion sort algorithm.

### Expected Classes

```java
public abstract class Sorter {
private int[] array;

public int[] getArray() {
// getter method
}

public void setArray(int[] array) {
// setter method
}

public abstract void sort();
}

public class BubbleSort extends Sorter {
@Override
public void sort() {
// bubble sort algorithm implementation
}
}

public class InsertionSort extends Sorter {
@Override
public void sort() {
// insertion sort algorithm implementation
}
}
```

### Usage

Here is a possible ExerciseRunner.java to test your classes:

```java
import java.util.Arrays;

public class ExerciseRunner {
public static void main(String[] args) {
int[] array = {64, 34, 25, 12, 22, 11, 90};

// Test BubbleSort
Sorter bubbleSorter = new BubbleSort();
bubbleSorter.setArray(array.clone());
bubbleSorter.sort();
System.out.println("BubbleSorted array: " + Arrays.toString(bubbleSorter.getArray()));

// Test InsertionSort
Sorter insertionSorter = new InsertionSort();
insertionSorter.setArray(array.clone());
insertionSorter.sort();
System.out.println("InsertionSorted array: " + Arrays.toString(insertionSorter.getArray()));
}
}
```

### Expected Output

```shell
$ javac *.java -d build
$ java -cp build ExerciseRunner
BubbleSorted array: [11, 12, 22, 25, 34, 64, 90]
InsertionSorted array: [11, 12, 22, 25, 34, 64, 90]
$
```

0 comments on commit caa684e

Please sign in to comment.