能帮我解释一下这个循环吗

 

找最小数啊。

如果数组值比最小值还小,那么将当前最小值设为第二小值min2,当前数组值记录为新的最小值min1

否则,如果数组织比第二最小值还小,但比最小值大,那么,只需要将当前数组值记录为新的第二小值就可以了

当最小值和第二小值发生变化的同时,记录其在数组中的小标值,即函数需要返回的s1和s2指针值

min1是最小的数,

min2是第二小的数,

当找到比最小的数(min1)更小的数时,原来最小的数就变成第二小的数,新找到的数就是最小的数。

min2=min1//min1的值就变成第二小的数,

min1=HT[k].weight;//新找到的数成为最小的数