我正在试着写这个问题的算法(从测验,而不是家庭作业):
编写函数的算法
打印出存储在
循环列表确保您的
算法适用于空列表,
仅包含一个节点的列表,以及
包含许多节点的列表。
我的算法打印信息此算法以循环列表的形式打印信息。

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

最佳答案

需要更新循环中的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";

10-07 13:37