python实现循环单链表,后续会不断更新。
参考资料:《数据结构与算法——Python原因描述》-- 裘宗燕
带尾结点引用的单链表示意图:
本代码中使用的是图b)
代码实现:
# -*- coding: utf-8 -*-
"""
Created on 2019.9.22
author: 双皮奶
"""
class LNode():
"""结点类"""
def __init__(self, elem, next_=None): #存放元素数据
self.elem = elem #next是下一个节点的标识
self.next = next_
class Loop_LinkList():
def __init__(self): # 创建空链表
self._rear = None
def is_empty(self): # 判断链表是否为空
return self._rear is None
def prepend(self, elem): # 在表头插入数据
p = LNode(elem)
if self._rear is None: # 空表
p.next = p
self._rear = p
else:
p.next = self._rear.next
self._rear.next = p
def append(self, elem): # 在尾部添加