基本思想:
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
代码实例:
public class SelectionSorter
{
private int min;

public void Sort(int [] list)
{
for(int i=0;i<list.Length-1;i++)
{
min=i;
for(int j=i+1;j<list.Length;j++)

{
if(list[j]<list[min])
min=j;
}

int t=list[min];
list[min]=list[i];
list[i]=t;
}
}
}

public class MainClassTest2
{
public static void Main3()
{
int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};

SelectionSorter ss=new SelectionSorter();

ss.Sort(iArrary);

for(int m=0;m<iArrary.Length;m++)

Console.Write("{0} ",iArrary[m]);

Console.WriteLine();

}
}
运行结果:

每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
代码实例:
public class SelectionSorter
{
private int min; 
public void Sort(int [] list)
{
for(int i=0;i<list.Length-1;i++)
{
min=i;
for(int j=i+1;j<list.Length;j++) 
{
if(list[j]<list[min])
min=j;
} 
int t=list[min];
list[min]=list[i];
list[i]=t;
}
}
} 
public class MainClassTest2
{
public static void Main3()
{
int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47}; 
SelectionSorter ss=new SelectionSorter(); 
ss.Sort(iArrary); 
for(int m=0;m<iArrary.Length;m++) 
Console.Write("{0} ",iArrary[m]); 
Console.WriteLine(); 
}
} 运行结果:


浙公网安备 33010602011771号