public class SelectSort
{
public static void selectSort(int[] array)
{
int min = 0;
int i,j;
for(i = 0; i < array.length - 1; i++)//n-1趟循环
{
min = i; //将当前下标定义为最小值下标
for(j = i + 1; j < array.length; j++) //第i趟中,从i+1的下标开始循环,直到数组的末尾
{
if(array[min] > array[j])
{
min = j;
}
}
if(i != min) //若i不等于min,则说明找到最小值,交换;如果i=min,则不用交换
{
int temp = array[min];
array[min] = array[j];
array[j] = temp;
}
}
}
public static void mian(String[] args)
{
int[] array = {1, 5, 2, 8, 7, 9}; //定义数组
SelectSort.selectSort(array);
for(int i = 0; i < array.length; i++) //输出排序后的数
{
System.out.println(array[i]);
}
}
}
总结:简单选择排序的基本思想是首先在未排序关键字中找到最小(大)的记录,存放到排序序列的起始位置,再从剩余未排序关键字中继续寻找最小(大)的记录,然后放到已排序序列的末尾。以此类推,直到所有关键字均排序完毕。