求一算法,将a数组中与b数组中差值最小的关系保存到c中去
struct TX
{
long a; //保存数组a的下标
long b; //保存数组b的下标
}
long a[n];
long b[m];
long TX c[100]; //已知m和n均小于100
for (int i=0; i<100; i++)
c[i].a = c[i].b = -1;
//假设当n = 6, m = 4时,数组如下:
a[0] = 90;
a[1] = 36;
a[2] = 78;
a[3] = 13;
a[4] = 42;
a[5] = 60;
b[0] = 9;
b[1] = 48;
b[2] = 70;
b[3] = 88;
//xy();
//c的可用范围取m与n间的最大值,即6
//结果如下
c[0].a = 0;
c[1].a = -1;
c[2].a = 2;
c[3].a = 3;
c[4].a = 4;
c[5].a = -1;
c[0].b = 3;
c[1].b = -1;
c[2].b = 2;
c[3].b = 0;
c[4].b = 1;
c[5].b = -1;
//a[0] 90 与b[3] 88 差值最小
//a[1] 36 被淘汰
//a[2] 78 与b[2] 70 差值最小
//a[3] 13 与b[0] 9 差值最小
//a[4] 42 与b[1] 48 差值最小
//a[5] 60 被淘汰