33,010
社区成员
发帖
与我相关
我的任务
分享
void main()
{
int i = 0, min1 = 0, min2 = k+1;
while (a[i] <= a[min2]) i++;
Swap(a, i, min2);
min1 = min2++;
for (i = i+1; i <n; ++i)
{
if (a[min1] <= a[min2])
{
Swap(a, i, min1);
min1 = min1 == min2 - 1 ?
(i <= k ? k+1 : i+1) : min1+1;
}
else
{
Swap(a, i, min2);
min1 = i == min1 ? min2 : min1;
min2 = min2 + 1;
}
}
printA();
}