I'd greatly appreciate it if someone could explain for me exactly how the selection sort algorithm works.
Code:
for (startScan = 0; startScan < (elems - 1); startScan++)
{
minIndex = startScan;
minValue = array[startScan];
for (int index = startScan + 1; index < elems; index++)
{
if (array[index] < minValue)
{
minValue = array[index];
minIndex = index;
}
}
array[minIndex] = array[startScan];
array[startScan] = minValue;
}
The relationship between
Code:
minIndex = startScan;
minValue = array[startScan];
and
Code:
array[minIndex] = array[startScan];
array[startScan] = minValue;
is especially confusing me.