如何在一个一维数组中找到最小值并放在第一个位置且不改变其他数的位置
供参考:
#include <stdio.h>
int main()
{
int a[10] = { 1,8,5,7,3,9,10,2,6,4 }, i, n, min, min_i;
n = sizeof(a) / sizeof(int);
min = a[0]; min_i = 0;
for (i = 0; i < n; i++)
{
if (a[i] < min) {
min = a[i];
min_i = i;
}
}
if (min_i != 0)
{
min = a[0];
a[0] = a[min_i];
a[min_i] = min;
}
for (i = 0; i < n; i++)
printf("%4d", a[i]);
printf("\n");
return 0;
}
举个例子,不改变其他数的位置,是绝对位置还是相对位置?