选择排序
基本思想:
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
代码实例:
public class SelectionSorter
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
private int min;
![](/Images/OutliningIndicators/InBlock.gif)
public void Sort(int [] list)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
for(int i=0;i<list.Length-1;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
min=i;
for(int j=i+1;j<list.Length;j++)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if(list[j]<list[min])
min=j;
}
![](/Images/OutliningIndicators/InBlock.gif)
int t=list[min];
list[min]=list[i];
list[i]=t;
}
}
}
![](/Images/OutliningIndicators/None.gif)
public class MainClassTest2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
public static void Main3()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
int[] iArrary=new int[]
{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
![](/Images/OutliningIndicators/InBlock.gif)
SelectionSorter ss=new SelectionSorter();
![](/Images/OutliningIndicators/InBlock.gif)
ss.Sort(iArrary);
![](/Images/OutliningIndicators/InBlock.gif)
for(int m=0;m<iArrary.Length;m++)
![](/Images/OutliningIndicators/InBlock.gif)
Console.Write("{0} ",iArrary[m]);
![](/Images/OutliningIndicators/InBlock.gif)
Console.WriteLine();
![](/Images/OutliningIndicators/InBlock.gif)
}
}
运行结果:
![](/images/cnblogs_com/abcdwxc/d3.GIF)
原文地址:https://www.cnblogs.com/abcdwxc/p/972298.html