选择排序(SelectSort)
一趟排序记录最小的数,放到第一个位置
再一趟排序记录记录列表无序区最小的数,放到第二个位置
。。。。。。
public void SelectSort(List<int> li)
{
int min = 0;
for (int i = 0; i < li.Count-1; i++)//i第几趟
{
min = i;
for (int j = i+1; j < li.Count; j++)//j当前选择的元素,从无序区开始
{
if (li[j] < li[min])
min = j;
}
if (min != i)//如果找到了和无序区第一个元素交换
{
int tmp = li[i];
li[i] = li[min];
li[min] = tmp;
}
}
}