//交换两个数据
void Swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
//选择排序
void SelectSort(int* arr, int size)
{
int i = 0;
for (i = 0; i < size-1; i++)
{
int min = i;
int j = 0;
for (j = i+1; j < size; j++)
{
if (arr[j] < arr[min])
{
min = j;
}
}
Swap(&arr[i], &arr[min]);
}
}
上面这是选择排序的代码
假设这个数组三个值为1,2,3
i=0的时候,通过这个代码遍历第一遍,可以找出min=0,
然后回到代码int min=i?这个时候i++ 了,也就是说此时i=1,所以min=1?
选择排序此刻的意义应该是找出最小值后与第一个数值进行交换,但我不理解此刻代码是怎么实现的