数据结构:单向循环链表(三)

单向循环链表的操作

travel() 遍历链表中所有元素

思路:跟之前的单链表一样,循环输出即可;要注意的是最后一个节点时,此时cur.next指向头节点,而没有进入循环,而cur指向该节点,跳出循环后,单独把最后一个节点的元素打印出来就可以了(当链表中只有一个元素,也可以处理)

   注意:同时也要考虑链表为空时,循环没办法进入,要单独判断

class SingleNode(object):
    def __init__(self,item):
        self.item=item
        self.head=None

   
class SinCycLinkedlist(object):
    def __init__(self, node=None):
        self.__head=node
        while node:
            node.next=self.__head

    def travel(self):
     if self.__head==None:
       return 
        cur=self.__head
        while cur.next != self.__head:
            print(cur.item)
       cur=cur.next
        print(cur.item)

  

  

posted @ 2020-05-14 10:01  Roronoa-Zoro  阅读(132)  评论(0编辑  收藏  举报