class Node(object):
def __init__(self,data):
self.data=data
self.next=None
class LinkList(object):
def __init__(self):
self.head=Node(None)
def IsEmpty(self):
p=self.head
if p.next==None:
print('List is Empty')
return True
return False
def PrintList(self):
if self.IsEmpty():
return False
p=self.head
while p:
print(p.data,end=' ')
p=p.next
def InitList(self,data):
self.head=Node(data[0])
p=self.head
for i in data[1:]:
node=Node(i)
p.next=node
p=p.next
def LengthList(self):
if self.IsEmpty():
return 0
p=self.head
cnt=0
while p:
cnt+=1
p=p.next
return cnt
def InsertList(self,s,data):
if self.IsEmpty() or s<0 or s>self.LengthList():
print('Insert failed')
return
p=self.head
index=1
while index<s:
p=p.next
index+=1
node=Node(data)
node.next=p.next
p.next=node
def DeleteList(self,s):
if self.IsEmpty() or s<0 or s>self.LengthList():
print('Delete failed!')
return
p=self.head
index=1
while index<s:
pre=p
index+=1
p=p.next
pre.next=p.next
p=None
def GetList(self,s):
if self.IsEmpty() or s<0 or s>self.LengthList():
print('Read failed!')
return
p=self.head
index=1
while index<s:
index+=1
p=p.next
print(f"第 {s} 个值为 {p.data}")
lst=LinkList()
data=[1,4,5,8,2,3]
lst.InitList(data)
lst.PrintList()
print(lst.LengthList())