/********************************************************************************************
ezwSelec.cpp
Jim Millard
for CO311
EZwindows sort visualization for Selection Sort
********************************************************************************************/
#include "ezwSelec.h"
#include "ezwSwap.h"
#include "ezwUtils.h"
void SelectionSort(SimpleWindow& W, RaySegment* ptrR[], int A[], const int size, const short load)
{
for (int current = 0; current < size; current++)
{
int smallest = A[current];
int target = current;
for (int i = current+1; i < size; i++)
{
if (A[i] < smallest)
{
smallest = A[i];
target = i;
}
}
if (target > current)
{
Swap(A[current], A[target]);
Swap(W, *ptrR[current], *ptrR[target], load);
}
Highlight(*ptrR[current],Green);
}
return;
}