这是合并两个已排序链表的代码。现在我的问题在于给出合并功能。我们为什么要将new_node1引用到new_node。在函数中直接使用new_node1而不是做错了 “Node new_node = new_node1;” (无论如何我尝试直接使用但它没有生成所需的输出。它只生成合并列表的最后一项)new_node对象是否使用默认构造函数?精心解释将非常有用。谢谢。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav data-js="js-navigation-main">
<ul class="sf-menu container row sf-js-enabled sf-arrows" style="visibility: visible;">
<li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2 current_page_item menu-item-13"><a href="http://localhost/bcoc/" style="padding-bottom: 47px; padding-top: 19px;">Home</a>
</li>
<li id="menu-item-49" class="mega_menu menu-item menu-item-type-taxonomy menu-item-object-wpbdp_category menu-item-49"><a href="http://localhost/bcoc/business-directory/wpbdp_category/accommodation/" style="padding-bottom: 47px; padding-top: 19px;">Accommodation</a>
</li>
<li id="menu-item-50" class="mega_menu menu-item menu-item-type-taxonomy menu-item-object-wpbdp_category menu-item-50"><a href="http://localhost/bcoc/business-directory/wpbdp_category/businesses/" style="padding-bottom: 47px; padding-top: 19px;">Businesses</a>
</li>
<li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29"><a href="http://localhost/bcoc/events/" style="padding-bottom: 47px; padding-top: 19px;">Events</a>
</li>
<li id="menu-item-28" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28"><a href="http://localhost/bcoc/activities/" style="padding-bottom: 47px; padding-top: 19px;">Activities</a>
</li>
<li id="menu-item-51" class="mega_menu menu-item menu-item-type-taxonomy menu-item-object-wpbdp_category menu-item-51"><a href="http://localhost/bcoc/business-directory/wpbdp_category/community-groups/" style="padding-bottom: 47px; padding-top: 19px;">Community Groups</a>
</li>
<li id="menu-item-26" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26"><a href="http://localhost/bcoc/about/" style="padding-bottom: 47px; padding-top: 19px;">About</a>
</li>
</ul>
<div class="mega_menu_drop_down" data-js="mega_menu_drop_down">
<div class="container">
<div data-js="mega_menu_list" class="mega_menu_list" data-menu-id="49">
<h3>Menu 1</h3>
<ul>
<li><a href="">test</a>
</li>
<li><a href="">test2</a>
</li>
<li><a href="">fgdgdf</a>
</li>
<li><a href="">dfg</a>
</li>
<li><a href="">dsfdsfsf</a>
</li>
</ul>
</div>
<div data-js="mega_menu_list" class="mega_menu_list" data-menu-id="50">
<h3>Menu 2</h3>
<ul>
<li><a href="">test</a>
</li>
<li><a href="">test2</a>
</li>
<li><a href="">fgdgdf</a>
</li>
<li><a href="">dfg</a>
</li>
<li><a href="">dsfdsfsf</a>
</li>
</ul>
</div>
<div data-js="mega_menu_list" class="mega_menu_list" data-menu-id="51">
<h3>Menu 3</h3>
<ul>
<li><a href="">test</a>
</li>
<li><a href="">test2</a>
</li>
<li><a href="">fgdgdf</a>
</li>
<li><a href="">dfg</a>
</li>
<li><a href="">dsfdsfsf</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearfix"></div>
</nav>
答案 0 :(得分:0)
唯一的区别在于最后一行l.printlist(new_node1);
。如果您在循环中一直使用new_node1
,那么您将打印最后一个节点。当你在循环中一直使用new_node
时,new_node1
保持不变,指向列表的头部。
我建议将new_node1
重命名为head_node
,将new_node
重命名为current_node
。这将使其更容易理解。然后你得到这样的东西:
Node head_node = new Node(0);
Node current_node = head_node;
// .. build the entire list of nodes ..
l.printlist(head_node);
答案 1 :(得分:-1)
下面
new_node1
是一个对象。
虽然
new_node
是一个引用变量,用于指向列表中的节点