我目前正在尝试使用指针交换数组的最小值和最大值的位置。
(a) Single instance min & max
Input: 1 2 3 4 5
Output: 5 2 3 4 1
(b) Multiple instance min & max
Input: 9 1 1 9 9 5 5 5 5
Output: 9 1 9 9 1 5 5 5 5
代码:
void swapMinMax(int ar[], int size)
{
int i, *max, *min;
*max = *min = ar[0];
//swap max & min
for(i=0;i<size-1;i++)
{
if(ar[i]>*max)
*max=ar[i];
else if(ar[i]<*min)
*min=ar[i];
}
}
如何为 min & max 的多个实例实现交换?