数据结构:单向循环链表

Posted cong3z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构:单向循环链表相关的知识,希望对你有一定的参考价值。

单向循环链表的操作

length()返回链表的长度

思路:当头节点为空的时候,直接返回0

   其它情况下,先确定循环条件,之前单链表的cur != None这一条件不适用于此,因为最后一个节点会指向头节点,即此时是cur.next==self.__head

   而cur==self.__head同样不可取,第一个节点就满足,循环马上退出

   count计算应该从1开始,因为如果一开始count=0的话,此时cur指向第一个节点,之前是因为cur会指向None,count能够正常计数,这时候应该从1开始计,而0的情况(就链表为空),先提前判断

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

    def length(self):
        cur=self.__head
        if self.__head==None:
            return 0
        count=1
        while cur.next != self.__head:
            count=+1
            cur=cur.next
        return count

  

 

以上是关于数据结构:单向循环链表的主要内容,如果未能解决你的问题,请参考以下文章

链表练习:单向循环链表变双向

单向循环链表

java实现单向循环链表

数据结构——循环链表

java-----循环链表

java-----循环链表