【发布时间】:2012-10-14 04:23:54
【问题描述】:
我正在尝试使用链表实现来修改另一个链表。 这是我正在尝试做的一个示例。
list<int>list1;
list<int>list2;
list1.push_back( 1 ); // < --- want to modify this list
list1.push_back( 2 );
list2.push_back( 1 ); // with this list
简而言之,我想使用 list2 作为一种变量来修改 list1。我做了一些研究,好像我无法像数组一样访问列表的节点。是否有一个容器可以让我轻松地添加和删除节点并与其他容器进行比较和修改?我在想集合可能是一种选择,但似乎我也无法访问集合中的值。任何帮助或证据都会很棒。提前致谢。
编辑:::
我正在寻找创建一个数独求解器。我将所有 81 位数字(空白和给定)放入“链表”中。我现在希望从代表 1 个单元格的每个“列表”中删除可能的候选人。
例如 列表列表1; listlist2;
list1.push_back( 1 );
list1.push_back( 2 );
list2.push_back( 1 );
我现在想像这样使用 list2
list1.remove( list2(?) ); // < -- this obviously isn't possible due to how nodes are stored.
我希望这能解决我的问题。这是我用来解决简单数独的方法,稍后我将实施蛮力技术。
【问题讨论】:
-
std::deque可能就是您要找的。span> -
用另一个容器修改容器是什么意思?
-
modify 是什么意思?您能否举例说明修改后列表的前后状态?
-
我刚刚搜索了“deque”是什么。我认为这对我没有多大帮助,因为它似乎具有与链接列表相同的功能,除非我从错误的类别中读取。或者,也许,我的例子不够具体,无法解释我的问题。我会编辑它。
-
完全不清楚您要做什么。
标签: c++ stl linked-list implementation