# Sort Detective – Solution

### Stuck on that homework assignment involving SortDetective.jar? No need to worry! ☕

This tutorial is “certifiably” Mac Friendly. Whoop. 

## Files Provided To You

• `SortDetective.jar`, which looks something like this:

The purpose of this little HW assignment is to correctly identify the 6 Greek letters (Alpha, Beta, Gamma, Delta, Epsilon, & Zeta) with their matching sorting method (selection, insertion, bubble, quick, merge, & heap sort).

Head over to the Java Decompiler page located at `jd.benow.ca`) and download the `ZIP` file for the `JD-GUI`.

## Step 2 – Launch JD-GUI

Now that you’ve downloaded the `ZIP` file, unzip it and launch the application.

# Step 4 – Find the Formula That Determines The Order

`SortDetective.jar` determines the sorting method ordering according to your student ID.

It has an array defined with 5 different orders that the sorting methods CAN be placed in. See `Line 256` in the `SortDetective.class`.

Zooming in…

With some minor searches, we find out that the method `experimentOrders` uses the variable `selectedPermutation` to determine what array value it will use to determine the order.

This redirects us to the `setStudentID()` method. So now we’ve figured out the ordering all just depends on the formula the program uses.

## Step 5 – Apply Formula To `experimentOrders`

So, in my case, my student ID is `00319124`.

Using the formula, we can determine that the value of `selectedPermutation` is going to be `2` for me since `319124` / `10` % `5``2.4` or simply `2` for `int`. That means that the array value for `experimentOrders` will be `2`, making a match to the order found on `Line 7` when zooming in to `Line 256` in `SortDetective.class`.

Remember, arrays are ordered like `{0,1,2}`. So `experimentOrders[2]` would be the 3rd value in the array.

There we go! Just like that, I now know for sure that the ordering of the Greek letters for me would go

• Alpha – Quick Sort
• Beta – Selection Sort
• Gamma – Merge Sort
• Delta – Bubble Sort
• Epsilon – Insertion Sort
• Zeta – Heap Sort

### Good luck with your HW! 😉️

653 views
Last updated on May 4th, 2020