#结点定义
classNode(object):def __init__(self,val,p=0):
self.data=val
self.next=p#链表操作
classLinkList(object):#定义头结点
def __init__(self):
self.head=0def __getitem__(self, key):ifself.is_empty():print('链表为空!')return
elif key <0 or key >self.getlength():print('键入值错误!')return
else:returnself.getitem(key)def __setitem__(self, key, value):ifself.is_empty():print('链表为空!')return
elif key <0 or key >self.getlength():print('键入值错误!')return
else:
self.delete(key)returnself.insert(key)#初始化链表
definitlist(self,data):
self.head=Node(data[0])
p=self.headfor i in data[1:]:
node=Node(i)
p.next=node
p=p.next#获取链表长度
defgetlength(self):
p=self.head
length=0while p!=0:
length+=1p=p.nextreturnlength#判断链表是否为空