1. (程序问题)
1)用单链表方法创建线性表L=(1,2,2,3,1),并输出L中的全部元素。
2)在单链表L中,删除结点值为2的结点,删除后为L=(1,3,1),显示第2个结点值。
请编写python程序
正确答案:
#参考代码
链接节点类:
def __init__(self,data=None):
自身.数据=数据
自我.下一个=无
链接列表类:
def __init__(self):
自我.head=LinkNode()
self.head.next=无
def CreateListF(self,a):
对于范围内的 i(0,len(a)):
s=LinkNode(a[i])
s.next=self.head.next
自我.head.next=s
def 显示(自身):
p=self.head.next
当 p 不为 None 时:
打印(p.data,end=' ')
p=p.下一个
def deletex(self,x):
q=自我头部
p=自我头部
当 p.next 不为 None 时:
如果 q.next.data==x:
q.下一个=p.下一个
p=p.下一个
别的:
q=p
p=p.下一个
#主程序
a=(1,2,2,3,1)
L=链接列表()
L.创建ListF(a)
L.显示()
打印()
L.deletex(2)
L.显示()