我正在做一个项目,我必须合并和相交两组。我为每个带有虚拟节点的集合使用链接列表。这就是我初始化我的 Sets 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.
我的问题是,我的交集伪代码在逻辑上是否正确?我的联合伪代码虽然可笑。谁能指导我解决这个问题?