集合的交运算的程序设计代码
时间: 2024-10-08 10:23:00 浏览: 10
集合的交运算在C++中可以通过链表实现。这里是一个简单的`jiaoji()`函数,它接收两个链表作为参数,表示两个集合,然后返回它们的交集部分:
```cpp
LNode* jiaoji(Linklist la, Linklist lb) {
// 创建一个新的链表来存储结果
LNode* result = nullptr;
LNode* currentLa = la->next;
LNode* currentLb = lb->next;
while (currentLa && currentLb) {
if (currentLa->data == currentLb->data) { // 如果节点的数据相同
// 创建新节点并添加到结果链表
LNode* newNode = new LNode(currentLa->data);
newNode->next = result;
result = newNode;
// 移动指针到下一个节点
currentLa = currentLa->next;
currentLb = currentLb->next;
} else {
// 如果当前节点不同,则移动到下一个节点
if (currentLa->data < currentLb->data) {
currentLa = currentLa->next;
} else {
currentLb = currentLb->next;
}
}
}
return result; // 返回交集链表的头节点
}
```
这段代码的时间复杂度为O(m + n),其中m和n分别为两个链表(集合)的元素个数。