class Node:
def __init__(self,datavalue=None):
self.datavalue = datavalue
a =self.datavalue
self.nextvalue =None
? ? ? ? b =self.nextvalue
class SLinkedList:
def __init__(self):#鏈表程序先初始化,獲取首地址
? ? ? ? self.headnode =None
? ? ? ? c =self.headnode
def printvalue(self):
printval =self.headnode
d = printval
while printval:
f = printval
print(printval.datavalue)
e = printval.datavalue
printval = printval.nextvalue
def atbegin(self,newdata):
newnode = Node(newdata)
newnode.nextvalue =self.headnode
self.headnode = newnode
def atlast(self,newdata):
newnode= Node(newdata)
nextnode =self.headnode
while(nextnode.nextvalue):
nextnode = nextnode.nextvalue
nextnode.nextvalue = newnode
def atmid(self,mid,newdata):
newnode = Node(newdata)
newnode.nextvalue = mid.nextvalue#有先后順序,先給值,再給地址
? ? ? ? mid.nextvalue = newnode
list = SLinkedList()#實例化一個list,設首地址
list.headnode = Node("Mon")##返回的是一個指針
x = Node("Mon")
e2 = Node("Tue")
y = Node("Tue")
e3 = Node("Wed")
list.headnode.nextvalue = e2
e2.nextvalue = e3
# list.atbegin("sun")
# list.atlast("sun")
list.atmid(e2,"Fri")
list.printvalue()