void selectionSort(int data[], int len)
{
int i;
for (i = 0; i < len-1; i++)//遍历每一个数据
{
int flag = i;//先将i的值付给flag,因为i后面还有用,flag作为比较对象会发出改变的
int j;
for (j =i + 1; j < len; j++)//从i+1开始找
{
if (data[j] < data[flag])//i后面居然有比data[i]还小的,先用flag标记一下
{
flag = j;
}
}
if (flag != i)//发现flag已经不是i了,说明i之后有比data[i]小的吊毛,因为经过了一个循环的筛选
//flag代表的data[flag]肯定是最小的一个
{
//那就把被标记的最小的放到最前面来,
int tmp = data[i];
data[i] = data[flag];
data[flag] = tmp;
}
//而i是从0到len-1一个个遍历的,也就是说越是前面的遍历的数据越多,最后换成的最小值就越小
//然后就排好了
}
}