我正在尝试使用链表实现来修改另一个链表。 这是我正在尝试做的一个例子。
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; 列表列表2;
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.
我希望这能稍微澄清我的问题。这是我用来解决简单数独问题的方法,稍后我将实现一种蛮力技术。
最佳答案
我不明白你用另一个修改容器的想法,也许你的意思是引用。将其用作引用变量:
list<int> list1;
list<int>& list2 = list1;
list2.push_back(1); //<--- modifies list1
或者使用指针:
list<int> list1;
list<int>* list2 = &list1;
list2->push_back(1); //<--- modifies list1
阅读指针 Here
关于c++ - 如何使用链表节点修改另一个链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043966/