// Program Name:
Sorting.java
// Course:
CSE 1302J
// Student Name:
Bradley Shedd
// Assignment Number:
Lab#5
// Due Date:
10/11/2010
// Purpose:
Demonstrates the selection sort and
//
insertion sort algorithms.
//********************************************************************
// Sorting.java
Author: Lewis/Loftus
//********************************************************************
public
class
Sorting
{
//-----------------------------------------------------------------
// Sorts the specified array of
objects using the selection
// sort algorithm.
//-----------------------------------------------------------------
public
static
void
selectionSort (Comparable[] list)
{
int
min;
Comparable
temp;
for
(int index = 0; index <
list.length-1; index++)
{
min = index;
for
(int scan = index+1; scan <
list.length; scan++)
if
(list[scan].compareTo(list[min]) < 0)
min = scan;
//
Swap the values
temp = list[min];
list[min] = list[index];
list[index] = temp;
}
}
//-----------------------------------------------------------------
// Sorts the specified array of
objects using the insertion
// sort algorithm.
//-----------------------------------------------------------------
public
static
void
insertionSort (Comparable[] list)
{
for
(int index = 1; index <
list.length; index++)
{
Comparable key = list[index];
int
position = index;
//
Shift larger values to the right
while
(position > 0 && key.compareTo(list[position-1]) > 0)
{
list[position] = list[position-1];
position--;
}
list[position] = key;
}
}
}