两个排序的链接列表C 的交点
Intersection of two Sorted Linked Lists C++
我的相交方法有一些麻烦。它可以正常工作,但是在程序结束后,它会造成错误。这是我的代码:
void SortedLinkedList::intersection(SortedLinkedList finalList, SortedLinkedList list1, SortedLinkedList list2) {
Node *pointer1 = list1.first;
Node *pointer2 = list2.first;
int counter = 0;
while (pointer1 != NULL && pointer2 != NULL) {
if (pointer1->data < pointer2->data) {
pointer1 = pointer1->next;
}
else if (pointer2->data < pointer1->data){
pointer2 = pointer2->next;
}
else if (pointer1->data == pointer2->data){
finalList.addItem(pointer1->data);
pointer1 = pointer1->next;
pointer2 = pointer2->next;
}
}
finalList.printList();
}
我需要在第三个列表中获得两个列表的交集。
主要眩光错误: SortedLinkedList finalist
您必须在该类中更改值,这是您的输出数据结构。您必须通过引用将其传递,否则将永远不会更改该功能的实际列表。
在某些情况下,您也希望通过" const"声明符进行其他输入数据参考,您必须仅使用来自它们的const
方法。由于您实际上不使用任何方法,Andyour类相对简单,这并不重要
void SortedLinkedList::intersection(SortedLinkedList& finalList,
const SortedLinkedList& list1,
const SortedLinkedList& list2)
其他任何事物都没有看到班级的整个设计将是猜测。问题可能是在您的添加剂方法中或缺乏班级字段的初始化。
标准库为std :: set_intersection提供一种方法
它精确地合并到排序的容器中。
这是从链接中获取的片段:
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
int main()
{
std::vector<int> v1{1,2,3,4,5,6,7,8};
std::vector<int> v2{ 5, 7, 9,10};
std::sort(v1.begin(), v1.end());
std::sort(v2.begin(), v2.end());
std::vector<int> v_intersection;
std::set_intersection(v1.begin(), v1.end(),
v2.begin(), v2.end(),
std::back_inserter(v_intersection));
for(int n : v_intersection)
std::cout << n << ' ';
}
在链接中,您还会找到一些可能的实现。但是,我的建议是:"不要重新发明轮子,只要重新调整它"。
相关文章:
- 从链接列表c++中删除一个项目
- 读取文件的最后一行并输入到链接列表时出错
- 下面是我为检测链接列表中的循环而制作的代码
- 有人能帮我处理这个链接列表吗?C++
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 链接列表运算符重载没有打印出我想要的内容
- 链接列表在 cpp 中包含不同的对象类
- 创建一个棋盘格或"Interweave"两个链接列表。IE 更改两个链表的指针
- 如何在构建链接列表时调整头、尾指针
- Shared_ptr双链接列表内存泄漏
- 为什么每当我尝试运行此链接列表删除功能时都会收到分段错误错误?
- 在链接列表中查找元素 - C++
- 删除链接列表中剩余的最后一个节点
- 只有我的"链接列表"中的第一个节点正在打印
- 避免在使用链接列表从 deque 中删除最后一个节点时出现内存泄漏
- C++ 分段错误:11 错误,同时编码将两个数字相加的链接列表
- 如何在C / C++中正确实现链接列表而不会使程序崩溃
- 将元素插入链接列表