Does the following accomplish what you want?
vectorOutput = vectorFirst;
QVectorIterator<Data*> itOutput(vectorOutput);
QVectorIterator<Data*> itSecond(vectorSecond);
while (itOutput.hasNext())
{
Data *d1 = itOutput.next();
vectorSecond.toFront();
while (itSecond.hasNext())
{
Data *d2 = itSecond.next();
if (d1->x == d2->x && d1->y == d2->y)
{
vectorDeleted.push_back(d1);
vectorOutput.removeOne(d1);
}
}
}
vectorOutput = vectorFirst;
QVectorIterator<Data*> itOutput(vectorOutput);
QVectorIterator<Data*> itSecond(vectorSecond);
while (itOutput.hasNext())
{
Data *d1 = itOutput.next();
vectorSecond.toFront();
while (itSecond.hasNext())
{
Data *d2 = itSecond.next();
if (d1->x == d2->x && d1->y == d2->y)
{
vectorDeleted.push_back(d1);
vectorOutput.removeOne(d1);
}
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks