打印循环列表的算法

发布于 2024-10-21 02:12:14 字数 490 浏览 0 评论 0原文

我正在尝试编写这个问题中的算法(来自测验,而不是家庭作业):

编写一个函数的算法 打印出存储在a中的信息 循环列表。确保您的 算法适用于空列表, 仅包含一个节点的列表,以及 包含许多节点的列表。

我的算法打印信息。该算法以循环列表的形式打印信息。

if (newptr != null) // check is list empty or not
  firstnod = head // if it's not, save the first nod's data because it's circular list
  print newptr.data 
end if
loop (newptr.data != firstnod)
  print newptr.data 
  count += 1
end loop

I am trying to write the algorithm in this question (from a quiz, not homework):

Write an algorithm of a function to
print out the information stored in a
circular list. Make sure that your
algorithms works for empty lists,
lists containing only one node, and
lists containing many nodes.

My algorithm prints info <val list metadata>. This algorithm prints the information in circular list.

if (newptr != null) // check is list empty or not
  firstnod = head // if it's not, save the first nod's data because it's circular list
  print newptr.data 
end if
loop (newptr.data != firstnod)
  print newptr.data 
  count += 1
end loop

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

战皆罪 2024-10-28 02:12:14

需要更新循环中的newptr。否则,您将始终获得相同的元素,并且是无限循环。

loop newptr != firstnod  
  print newptr.data  
  newptr = newptr.nextnode  
endloop

编辑1:

if list != NULL
    print list.data
    if list.nextNode != NULL
       Node* head, temp
       head = list
       temp = list.nextNode
       while( temp != head )
          print temp.data
          temp = temp.nextNode
       End while
    else
       print "Next node is not intialized";
else
     print "List is empty";

Need to update the newptr in the loop. Else, you will always get the same elements and is an infinite loop.

loop newptr != firstnod  
  print newptr.data  
  newptr = newptr.nextnode  
endloop

Edit 1:

if list != NULL
    print list.data
    if list.nextNode != NULL
       Node* head, temp
       head = list
       temp = list.nextNode
       while( temp != head )
          print temp.data
          temp = temp.nextNode
       End while
    else
       print "Next node is not intialized";
else
     print "List is empty";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文