【发布时间】:2013-06-06 18:31:00
【问题描述】:
我正在考虑一种改变两个循环顺序的方法 这里有两个列表:
list<element> aList1;
list<element> aList2;
我想检查两个列表中的每个元素,以确保 aList1 中的元素等于 aList2 中的元素。
列表中的内容可以是:
<a,b,c,d> aList1
<k,a,b,z> aList2
所以,结果应该在aList1中记录不匹配的位置3-4。
但内容也可以是:
<a,b,c>
<d,d,b,d>
所以,结果应该在aList1中记录不匹配的位置1-2和4。我只关注 aList1 的位置。
另一个:
<a,b,c,d,e,f>
<z,e,f,g>
列表长度可以不同,匹配的元素在位置 5-6 是一致的。
我用for(aList1){for(aList2){}}来做这个,但是浪费了很多,你能给我一些好的方法吗?非常感谢!
不只是列表,容器可以是vector,也可以是map。
PS:元素比较复杂,不是0也不是1,实际上是指针(每个元素包含几个因素,我需要一一比较,所以我想比较比循环少的元素)。
【问题讨论】:
-
0 和 1 是唯一可能的值吗?
-
抱歉,我再次编辑了我的问题。