标签:else 单元 add 定位 rom 大小 insert code nbsp
. is_empty():链表是否为空
. length():链表长度
. travel():遍历整个链表
. add(item):链表头部添加元素
. append(item):链表尾部添加元素
. insert(pos, item):指定位置添加元素
. remove(item):删除节点
. search(item):查找节点是否存在
# 每一项 class Node(): def __init__(self,item): self.item=item self.next=None # 链表 class Link(): # 先创建一个空的链表 def __init__(self): self._head=None # 链头添加数据 def add(self,item): # 实例化 node=Node(item) #注意不为空时,如何添加 node.next=self._head self._head=node # 链表展示 def travel(self): cur=self._head while cur: print(cur.item) cur=cur.next # 链表长度 def length(self): count=0 cur=self._head while cur: count += 1 cur=cur.next return count def isEmpty(self): return self._head==None # 链表尾部添加 def append(self,item): node=Node(item) # 链表为空 if self.isEmpty(): self._head=node return # 链表不为空 cur=self._head pre=None while cur: pre=cur cur=cur.next pre.next=node # 查找 def search(self,item): flag=False cur=self._head while cur: if cur.item==item: flag=True break cur=cur.next return flag # 插入 def insert(self,pos,item): # 插入位置错误 length=self.length() if pos<1 or pos>length: print(‘pos 错误‘) return else: node=Node(item) # 假定插入起始值 为1 cur=self._head pre=None for i in range(pos-1): pre=cur cur=cur.next pre.next=node node.next=cur # 删除 删除遇到的第一个元素 def remove(self,item): cur=self._head pre=None # 删除的是第一个节点 if cur.item==item: self._head=self._head.next return # 删除的不是第一个节点 while cur: if cur.item==item: pre.next=cur.next break else: pre=cur cur=cur.next #链表图 link=Link() link.append(1) link.append(2) link.append(3) # link.travel() # print(link.length()) # print(link.isEmpty()) # print(link.search(4)) # link.insert(2,1) link.remove(1) link.travel()
标签:else 单元 add 定位 rom 大小 insert code nbsp
原文地址:https://www.cnblogs.com/XLHIT/p/11361087.html