Поиск всех элементов, находящихся в одном списке, но не во втором, может быть легко осуществлен с помощью алгоритма сравнения списков.Вот основная идея:
- Сортировка обоих списков
- Возьмите 2 индексные переменные, по одной для каждого списка, и начните с начала каждого списка
- Сравните двапроиндексированные элементы из каждого списка в соответствии с порядком сортировки.
- Если они равны, то один и тот же элемент находится в обоих списках.Увеличьте оба индекса.
- Если первый элемент меньше второго, то его нет во втором списке.Увеличьте первый индекс.
- Если второй элемент меньше первого, то его нет в первом списке.Увеличьте второй индекс.
- Повторяйте, пока не дойдете до конца одного из списков.Все остальные элементы в другом списке находятся не в первом списке.
Вы можете добавить действия к случаю равных или к первому уникальному или второму уникальному случаю, чтобы определить, что делать в этих случаях,В вашем конкретном случае вы захотите, чтобы второй уникальный случай добавил элемент в VST.Это может быть сложнее, если вам нужно сохранить древовидную структуру, но это основная идея.