链表简介
创建简单的链表:
class Node:
def __init__(self,item):
self.item=item
self.next=None
a=Node(1)
b=Node(2)
c=Node(3)
a.next=b
b.next=c
print(a.next.next.item)
输出为 3,此时item相当于数值,next相当于指针。
链表的创建与遍历
头插法
创建一个链表,并插入更多的数据,每次插入都把新的当做头部。
代码如下:
class Node:
def __init__(self,item):
self.item=item
self.next=None
def creat_linklist_head(li):
head=Node(li[0])
for element in li[1:]:
node=Node(element)
node.next=head
head=node
return head
lk=creat_linklist_head([1,2,3])
def print_linklist_head(lk):
while lk:
print(lk.item,end='')
lk=lk.next
print_linklist_head(lk)
输出为:3,2,1,。
尾插法
创建一个链表,并插入更多的数据,每次插入都把新的当做尾部。
代码如下:
class Node:
def __init__(self,item):
self.item=item
self.next=None
def creat_linklist_tail(li):
head=Node(li[0])
tail=head
for element in li[1:]:
node=Node(element)
tail.next=node
tail=node
return head
lk=creat_linklist_tail([1,2,3,4,5])
def print_linklist_tail(lk):
while lk:
print(lk.item,end='')
lk=lk.next
print_linklist_tail(lk)
输出为:1,2,3,4,5,。