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()
网友评论