选择排序的算法描述:首先找出数组A中的最小元素,然后将其与A[0]中的元素进行交换,然后找出A中次小的元素,与A[1]中的元素进行交换.......以此类推。
下面是Java版的简单算法实现:
public class S_Sort
{
public static void main(String args[])
{
int[] a = new int[]{11,223,3,1,2,43,55,444,11,22};
new S_Sort(). SelectSort(a, 10);
}
private void SelectSort(int[] a, int n)
{
for(int i =0;i<n-1;++i)
{
int j = FindMinValue(a, i, n);
int temp = a[i];
a[i] = a[j];
a[j] = temp;
for(int x=0;x<n;++x)
{
System.out.print(a[x]+" ");
}
System.out.println();
}
}
private int FindMinValue(int[] a, int i, int n)
{
int temp = i;
for(int j = i+1; j<n; ++j)
{
if(a[temp]>a[j])
temp = j;
}
return temp;
}
}