<legend id='DqUex'><style id='DqUex'><dir id='DqUex'><q id='DqUex'></q></dir></style></legend><tfoot id='DqUex'></tfoot>
        • <bdo id='DqUex'></bdo><ul id='DqUex'></ul>
      1. <i id='DqUex'><tr id='DqUex'><dt id='DqUex'><q id='DqUex'><span id='DqUex'><b id='DqUex'><form id='DqUex'><ins id='DqUex'></ins><ul id='DqUex'></ul><sub id='DqUex'></sub></form><legend id='DqUex'></legend><bdo id='DqUex'><pre id='DqUex'><center id='DqUex'></center></pre></bdo></b><th id='DqUex'></th></span></q></dt></tr></i><div id='DqUex'><tfoot id='DqUex'></tfoot><dl id='DqUex'><fieldset id='DqUex'></fieldset></dl></div>

        <small id='DqUex'></small><noframes id='DqUex'>

        使用 C++ 递归打印 LinkedList

        时间:2023-10-18
      2. <small id='wtohr'></small><noframes id='wtohr'>

            <tbody id='wtohr'></tbody>

          <i id='wtohr'><tr id='wtohr'><dt id='wtohr'><q id='wtohr'><span id='wtohr'><b id='wtohr'><form id='wtohr'><ins id='wtohr'></ins><ul id='wtohr'></ul><sub id='wtohr'></sub></form><legend id='wtohr'></legend><bdo id='wtohr'><pre id='wtohr'><center id='wtohr'></center></pre></bdo></b><th id='wtohr'></th></span></q></dt></tr></i><div id='wtohr'><tfoot id='wtohr'></tfoot><dl id='wtohr'><fieldset id='wtohr'></fieldset></dl></div>

            <legend id='wtohr'><style id='wtohr'><dir id='wtohr'><q id='wtohr'></q></dir></style></legend>
              <bdo id='wtohr'></bdo><ul id='wtohr'></ul>

            • <tfoot id='wtohr'></tfoot>
                  本文介绍了使用 C++ 递归打印 LinkedList的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试创建一个函数来递归地打印出我的链接列表,但我在这样做时遇到了麻烦,因为递归太难了.

                  I'm trying to create a function that would print out my link list recursively, but I'm having trouble doing that, because recursion is just hard.

                  这是我写的函数,明明是带参数的,但是不知道怎么传.并且可能输出是错误的.

                  This is the function I wrote, obviously takes a parameter, but I don't know how to pass it. And probably the output is wrong.

                  我使用了 typedef:

                  I used typedef:

                   typedef struct node* nodePtr;
                  

                  多亏了其中一个人的输入,我更新了我的函数,看起来像这样,但现在 Visual Studio 给出了一个错误:

                  and thanks to the input from one of the guys, I updated my function to look like this, but now visual studio is giving an error that says:

                  声明与 void List::PrintListRecursively 不兼容",所以我想知道我传递参数的方式只是略有不同.

                  "Declaration is incompatible with void List::PrintListRecursively", so I wonder that the way I pass the parameter is just a slight different.

                  先谢谢你

                  void List::PrintListRecursively(nodePtr curr ){
                  
                      if (curr==NULL)
                      {
                          cout << "
                  ";
                          return;
                      }
                      cout << curr->data <<endl;
                      PrintListRecursively(curr->next);
                  
                  
                  }
                  

                  我没有递归地编写了相同的函数:

                  I wrote the same function not recursively:

                  void List::PrintList(){
                      curr = head;
                      while(curr != NULL)
                      {
                          cout << curr->data <<endl;
                          curr = curr->next;
                      }
                  }
                  

                  这个效果很好.有人可以帮忙解决递归部分并帮助我找出问题所在.不要太刻薄.

                  and this one works great. Could somebody help out with the recursion part and help me find out whats wrong. Don't be too mean.

                  推荐答案

                  您的递归版本需要输入:

                  Your recursive version needs an input:

                  void List::PrintListRecursively(Node* curr)
                  {
                      if (curr==NULL)
                      {
                          cout << "
                  ";
                          return;
                      }
                      cout << curr->data <<endl;
                      PrintListRecursively(curr->next);
                  }
                  

                  然后你会使用头指针调用它:

                  Which you would then call using the head pointer:

                  list.PrintListRecursively(list.GetHead());
                  

                  或者你可以创建一个不带参数的版本:

                  Or you could create a version that takes no parameters:

                  void List::PrintListRecursively()
                  {
                      PrintListRecursively(GetHead());
                  }
                  

                  调用带指针参数的版本.

                  Which calls the version that takes the pointer parameter.

                  这篇关于使用 C++ 递归打印 LinkedList的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何在恒定空间中对单链表进行排序? 下一篇:C++中的链表

                  相关文章

                  1. <legend id='UeQ12'><style id='UeQ12'><dir id='UeQ12'><q id='UeQ12'></q></dir></style></legend>
                      <i id='UeQ12'><tr id='UeQ12'><dt id='UeQ12'><q id='UeQ12'><span id='UeQ12'><b id='UeQ12'><form id='UeQ12'><ins id='UeQ12'></ins><ul id='UeQ12'></ul><sub id='UeQ12'></sub></form><legend id='UeQ12'></legend><bdo id='UeQ12'><pre id='UeQ12'><center id='UeQ12'></center></pre></bdo></b><th id='UeQ12'></th></span></q></dt></tr></i><div id='UeQ12'><tfoot id='UeQ12'></tfoot><dl id='UeQ12'><fieldset id='UeQ12'></fieldset></dl></div>
                    1. <small id='UeQ12'></small><noframes id='UeQ12'>

                      <tfoot id='UeQ12'></tfoot>

                      • <bdo id='UeQ12'></bdo><ul id='UeQ12'></ul>