python之链表

# class Node:
#     def __init__(self,data):
#         # 要存的数据
#         self.data = data
#         # 指向下一个节点的指针
#         self.next = None
#
# class LinkedList:
#     def __init__(self):
#         # 链表长度
#         self.size = 0
#         # 链表的头部
#         self.head = None
#         # 链表的尾部
#         self.last = None
#     # index为取链表的第几节点
#
#     def get(self,index):
#         if index<0 or index>self.size:
#             raise Exception('超出链表节点范围')
#         # 这里声明一个变量p为当前指针位置,如果链表不为空,
#         # 则self.head 为第一个节点位置,它是一个实例化的Node,
#         # 它的next属性也一定存过下个节点是谁,
#         # 依次找下去,找到对应节点位置,返回的是对应index的节点,也是个实例化的Node
#         p = self.head
#         for i in range(index):
#             p = p.next
#         return p
#
#     def insert(self,data,index):
#         #print(self.size,index)
#         if index < 0 or index > self.size:
#             raise Exception('超出链表节点范围')
#         #声明一个节点
#         node = Node(data)
#         #长度为零则为空链表
#         if self.size == 0:
#             self.head = node
#             self.last = node
#         elif index==0:
#             # 之前的头部为新节点的指向
#             node.next = self.head
#             # 新节点变为头部节点
#             self.head = node
#         elif self.size == index:
#             # 最后一个节点指向新节点
#             self.last.next = node
#             # 新节点记录为最后一个节点
#             self.last = node
#         else:
#             # 定位插入位置的上一个节点
#             prev_node = self.get(index-1)
#             # 插入的节点的指向改为上一个节点的指向
#             node.next = prev_node.next
#             # 上个节点的指向改为新插入的节点
#             prev_node.next = node
#         self.size+=1
#
#     def output(self):
#         p = self.head
#         while p is not None:
#             print(p.data)
#             p = p.next
#
# linkedList = LinkedList()
#
# # linkedList.insert(4,4)
#
#
# linkedList.insert(6,0)  #在空链表中加入一个数
# linkedList.insert(7,0)  #在链表前加入一个数
#
# linkedList.insert(9,2)#在链表尾加入一个数
# linkedList.insert(5,3)#在链表尾加入一个数
# linkedList.insert(6,2)#在链表中插入一个数
# print(linkedList.get(3))
# linkedList.output()

 

posted @ 2020-12-02 17:05  秋叶落日  阅读(118)  评论(0编辑  收藏  举报