选择排序开始的时候,我们扫描整个列表,找到它的最小元素然后和第一个元素交换,将最小元素放到它在有序列表中的最终位置上。然后我们从第二个元素开始扫描列表,找到最后n-1个元素的最小元素,再和第二个元素交换位置,把第二小的元素放到它的最终位置上。
为了简单起见,我们认为数据是一组数组,如下
package sort;
import java.util.Arrays;
public class select {
public static void sort(int n[])
{
if(n==null||n.length<=0)
{
return ;
}
for(int i=0;i<n.length;i++)
{
int temp=n[i];
int flag=i;
for(int j=i+1;j<n.length;j++)
{
if(n[j]<temp)
{
temp=n[j];
flag=j;
}
}
if(flag!=i)
{
n[flag]=n[i];
n[i]=temp;
}
}
}
public static void main(String args[])
{
int a[]={49,38,65,97,76,13,27,49} ;
sort(a);
System.out.print(Arrays.toString(a));
}
}