c++ - 如何使用链表节点修改另一个链表

标签 c++ stl linked-list implementation

我正在尝试使用链表实现来修改另一个链表。 这是我正在尝试做的一个例子。

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/

相关文章:

c++ - 如何在 C++ 的 do while 循环中读取空格

c++ - to_string 函数追加零

c++ - C++问题中的引用

c++ - STL列表、 vector 和集合的底层数据结构是什么?

c++ - 将 POD 结构/结构 vector 复制到 vector<unsigned char> 的最优雅方式

c - 邻接表,分割一个数组并在c中搜索该数组中的单词

C++成员函数和构造函数问题

c++ - Visual Studio : "str() is not a member of std::ostringstream"

java - 链表在中间插入

c - 如何让链表的最后一个节点参与冒泡排序?