Я работаю над проектом, где мне нужно объединить и пересечь два набора. Я использую Связанный список для каждого набора с фиктивными узлами. Вот как я инициализирую свои классы LLРеализация связанного списка с использованием фиктивных узлов
public Set() {
top = new Node(Integer.MIN_VALUE, new Node(Integer.MAX_VALUE, null));
} //end Set
И вот как я вставляю предметы.
public void insert(int item) {
Node prev = top;
Node curr = top.next;
while(curr.item < item) {
prev = curr;
curr = curr.next;
}
prev.next = new Node(item, curr);
size++;
} // insert
Теперь мне трудно получить соединение или пересечение двух наборов. Это то, что я имею в виду для пересечения.
public Set intersection(Set setB) {
Set setC = new Set();
//loop over both sets and if both have same value add it otherwise
// get to the next node in both sets.
Мой вопрос: я логически исправлен с псевдокодом пересечения? Мой союзный псевдокод смешон. Может ли кто-нибудь направить меня, хотя эта проблема?
К сожалению, я не использую это. Мой проект основан на моей собственной реализации наборов с использованием LL @Abhijith – Saad
Для объединения, как бы я это сделал? @Abhijith – Saad
Это простой список. @Abhijith – Saad