2 つのループの順序を変更する方法を考えています。ここに 2 つのリストがあります。
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>
そのため、結果は一致しない位置 1 ~ 2 および 4 を aList1 に記録する必要があります。aList1 の位置だけに注目します。
もう一つ:
<a,b,c,d,e,f>
<z,e,f,g>
リストの長さは異なる場合があり、一致した要素は位置 5 ~ 6 で一致します。
これを行うために for(aList1){for(aList2){}} を使用しましたが、多くの無駄がありました。それを行うための良い方法を教えてください。どうもありがとう!
リストだけでなく、コンテナーはベクトル、マップにもできます。
PS: 要素は非常に複雑で、0 または 1 ではなく、実際にはポインターです (各要素にはいくつかの要素が含まれているため、1 つずつ比較する必要があるため、すべてをループするよりも少ない要素を比較したいのです)。