選擇排序的算法描述:首先找出數組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;
}
}