//交换两个数据
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?
https://blog.csdn.net/weixin_52811588/article/details/126486829?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170903930716777224429422%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170903930716777224429422&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-126486829-null-null.142^v99^pc_search_result_base7&utm_term=%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4187
选择排序此刻的意义应该是找出最小值后与第一个数值进行交换,但我不理解此刻代码是怎么实现的
