如何使用迭代而不是递归来将值输入到链表中?

Bra*_*don 1 c++ pointers linked-list

好的,假设我们有一个带有头指针的链接字符列表.如何创建循环以将字符串输入到链接列表中?我的问题是当我想到头部和头部 - >下一个和头部 - >下一个 - >下一个...使用递归函数设置每个节点的字符似乎很自然.

Cha*_*via 12

使用迭代来完成它是微不足道的.你只需从头开始,然后使用循环迭代遍历列表current = current->next,直到你达到NULL.

基本上是这样的:

node* n = head;
while (n) {
   // ... do something with n
   n = n->next;
}
Run Code Online (Sandbox Code Playgroud)

  • `for(node*n = head; n; n = n-> next)`大大改善了这种模式. (5认同)

小智 6

在使用C++时,使用std :: list和迭代器似乎是要走的路.编写自己的链表可以作为学习练习,但请不要在实际代码中使用这样的东西.