-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathSelectionSort.java
36 lines (33 loc) · 907 Bytes
/
SelectionSort.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package chapter_seven.samples;
/**
* Listing 7.8 SelectionSort.java
* */
public class SelectionSort
{
/**
* The method for sorting the numbers
*/
public static void selectionSort(double[] list)
{
for (int i = 0; i < list.length - 1; i++)
{
// Find the minimum in the list[i..list.length−1]
double currentMin = list[i];
int currentMinIndex = i;
for (int j = i + 1; j < list.length; j++)
{
if (currentMin > list[j])
{
currentMin = list[j];
currentMinIndex = j;
}
}
// Swap list[i] with list[currentMinIndex] if necessary
if (currentMinIndex != i)
{
list[currentMinIndex] = list[i];
list[i] = currentMin;
}
}
}
}