比较两个数组的值
问题描述:
我有两个数组,每个数组都包含坐标值。换句话说,第一个数组包含x的值,第二个数组包含y的值。目标包括没有相等的坐标,这意味着每个坐标必须与所有其他坐标不同。我试着这样做:比较两个数组的值
for (i=0; i<len(lrs)-1; i++) {
for (j=0; j<len(lrs) ; j++) {
if ((pos.x[j]==pos.x[i+1])&&(pos.y[j]==pos.y[i+1]))
printf("1");
}
}
然而,有一个时刻,在“J”的价值观和“我”是相同的,因此,病情得到验证,这不是预期的。也许我没有想到正确的方式,但我无法弄清楚。
答
这是更好地使内环对于j>我只:
for (i=0; i<len(lrs); i++) {
for (j=i+1; j<len(lrs) ; j++) {
if ((pos.x[j]==pos.x[i])&&(pos.y[j]==pos.y[i]))
printf("1");
}
}
在这种情况下,你就永远不会检查条件我==学家更多的你会检查每一对只有一次。
+0
+1,好点(只检查一次) – 2013-05-04 16:44:26
+0
谢谢,这正是我想要的! – Raphm 2013-05-04 17:11:56
只有在'i!= j'完成后才检查条件。 – 2013-05-04 16:38:17
检查是否(i!= j)条件 – ridoy 2013-05-04 16:40:01
如果元素的数量很大,这是非常低效的。 – ouah 2013-05-04 16:42:19