Simple Sorting Algorithms

Selection Sort
void selectionSort (apvector<double> &list)
// Uses a temporary variable instead of calling the swap procedure each time

{
	int min;
	int len = list.length( );
	for (int j = 0;  j < len - 1;  j++)
	{
		min = j;
		for ( int k = j + 1; k < len;  k++)
			if (list[min] > list[k])
				min = k;
		swap (list[min], list[j]);
	}
} 
Insertion Sort
void insertionSort (apvector &list)
// Uses the insertion algorithm that starts at the beginning of the list
{
	double saved;
	int len = list.length( );
	int j, k;
	for (j = 1;  j < len;  j++)
	{
		k = j;
		saved = list[k];
		while (k > 0 && saved < list[k-1] )
		{	
			list[k] = list[k-1]
			k --;
		}
		list[k] = saved;
	}
}


Continue to:  Unit 2  / Prev  / Next