一、头插法
class Node:
def __init__(self, item=0):
self.item = item
self.next = None
class Solution:
def create_linklist_head(self):
x = int(input('input a number(-1 to quit):'))
head = None
while x!=-1:
node=Node(x)
node.next=head
head=node
x = int(input('input a number(-1 to quit):'))
return head
def my_print(self,P):
print('输出',end=':')
while P:
print(P.data,end=',')
P=P.next
运行效果
S=Solution()
p=S.create_linklist_head()
S.my_print(p)
#########
input a number(-1 to quit):1
input a number(-1 to quit):2
input a number(-1 to quit):3
input a number(-1 to quit):-1
输出:3,2,1,
二、尾插法
class Node:
def __init__(self,data=0):
self.data=data
self.next=None
class Solution:
def create_linklist_tail(self):
x=int(input('input a number(-1 to quit):'))
head=Node()
p=head
while x!=-1:
node=Node(x)
p.next=node
p=node
x = int(input('input a number(-1 to quit):'))
return head.next
#如果return head,则会有一个头节点
运行效果
S=Solution()
p=S.create_linklist_tail()
S.my_print(p)
#########
input a number(-1 to quit):1
input a number(-1 to quit):2
input a number(-1 to quit):3
input a number(-1 to quit):-1
输出:1,2,3,