Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 39 additions & 9 deletions ArrayMethods.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,31 +33,61 @@ public class ArrayMethods
/**DESCRIPTION: */
public static String arrayString(int[] a)
{
return ""; //STUB to keep compiler happy
String result = "{ " + a[0];
//return ""; //STUB to keep compiler happy
for(int i = 1; i < a.length; i++) {
result += ", " + a[i];
}

result += " }";

return result;
}

/**DESCRIPTION: */
public static void swap(int[] array, int a, int b)
{

int temp = array[a];
array[a] = array[b];
array[b] = temp;
}
/**DESCRIPTION: */
/**DESCRIPTION: */
public static int indexOfMin(int[] array, int startIndex)
{
return 0; //STUB to keep compiler happy
int minValue = array[startIndex];
int minIndex = startIndex;

for(int i = startIndex+1; i < array.length; i++) {
if(minValue > array[i]) {
minValue = array[i];
minIndex = i;
}

}
return minIndex;

}

/**DESCRIPTION: */
/**DESCRIPTION: */
public static void reverse(int[] array)
{

for(int i = 0; i < array.length/2; i++) {
ArrayMethods.swap(array, i, array.length-1-i);
}

}

/**DESCRIPTION: */
/**DESCRIPTION: */
public static void selectionSort(int[] array)
{
for(int i = 0; i < array.length-1; i++) {
int indexMinValue = ArrayMethods.indexOfMin(array, i);
ArrayMethods.swap(array, i, indexMinValue);

}


}

}
}
27 changes: 26 additions & 1 deletion Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,31 @@ public class Main
{
public static void main(String[] args)
{
int[] values = {12, 16, 26, 42, 53, 77, 84};

System.out.println("Test :" + ArrayMethods.arrayString(values));

ArrayMethods.swap(values, 0, 6);
System.out.println("Test after swap (12and84):" + ArrayMethods.arrayString(values));

int[] numbers = {42, 16, 84, 12, 77, 26, 53};
int minIndex1 = ArrayMethods.indexOfMin(numbers, 0);
int minIndex2 = ArrayMethods.indexOfMin(numbers, 4);

System.out.println("TEST: min indices should be 3 and 5, we got: " + minIndex1 + " and " + minIndex2);

System.out.println("Test before reversal:" + ArrayMethods.arrayString(numbers));

ArrayMethods.reverse(numbers);

System.out.println("Test after reversal:" + ArrayMethods.arrayString(numbers));

System.out.println("Test before sorting:" + ArrayMethods.arrayString(numbers));

ArrayMethods.selectionSort(numbers);

System.out.println("Test after sorting:" + ArrayMethods.arrayString(numbers));

}
}
}

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[![Open in Codespaces](https://classroom.github.com/assets/launch-codespace-2972f46106e565e64193e422d61a12cf1da4916b45550586e14ef0a7c637dd04.svg)](https://classroom.github.com/open-in-codespaces?assignment_repo_id=18806281)
# Lab 15 - Selection Sort + Array Methods

**Implement the Selection Sort Algorithm Using Array Methods**
Expand Down