美文网首页
用Python实现简单的链表功能

用Python实现简单的链表功能

作者: 花开有声是我 | 来源:发表于2021-11-30 00:44 被阅读0次

1、通过链表的第一个元素或最后一个元素可以打印出链表的所有元素
2、删除链表的某个元素的运行时间为O(1)

# 创建node类,通过类可以创建任意多个相同属性和方法的对象
class Node:
    # 构造方法,构造方法存在于类中,用来构造这个类型的对象
    def __init__(self, forward, next, content):
        self.forward = forward
        self.next = next
        self.content = content

a1 = Node(None, None, "吃午饭")
a2 = Node(None, None, "玩地滚球")
a3 = Node(None, None, "买茶叶")
a4 = Node(None, None, "喝茶")
a1.next = a2
a2.next = a3
a3.next = a4
a2.forward = a1
a3.forward = a2
a4.forward = a3

def PrintNode(node):
    print(node.content)
    if node.next != None:
        PrintNode(node.next)
def ReversePrint(node):
    print(node.content)
    if node.forward != None:
        ReversePrint(node.forward)

PrintNode(a1)
print("#"*100)
ReversePrint(a4)
print("#"*100)

# 链表的删除节点功能
def DelNode(node):
    node.next.forward = node.forward
    node.forward.next = node.next

DelNode(a2)
print("#"*100)
PrintNode(a1)
print("#"*100)
ReversePrint(a4)

运行结果如下:

吃午饭
玩地滚球
买茶叶
喝茶
########################################################################################
喝茶
买茶叶
玩地滚球
吃午饭
########################################################################################
########################################################################################
吃午饭
买茶叶
喝茶
########################################################################################
喝茶
买茶叶
吃午饭

其他:
1、构造方法存在于类中,用来构建这个类型的对象
2、构造方法分为有参构造和无参构造
3、无参构造也能返回对象
4、有参构造必须传参才能返回对象,否则会报错
5、print 无返回值,因为返回的是None
6、调用一个class的方法,先构造一个对象,通过对象调用,xxx.yyy()

相关文章

网友评论

      本文标题:用Python实现简单的链表功能

      本文链接:https://www.haomeiwen.com/subject/qmprxrtx.html