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