Python单链表的基本操作
2021-04-08 13:28
标签:表的基本操作 插入 travel 存在 基本操作 val 头部 lse nbsp """ 初始化链表 """ import time class Node: def __init__(self,value): self.value = value self.next = None class SingleLinkList: def __init__(self): self.head = None def is_empty(self): """判断是否为空""" return self.head == None def travel(self): """遍历链表""" cur = self.head while cur is not None: print(cur.value,end=" ") cur = cur.next def append(self,item): """在末尾添加节点""" node = Node(item) # 如果是空链表 if self.is_empty(): self.head = node return # 当不为空的时候 cur = self.head while cur.next: cur = cur.next cur.next = node # node.next = None def insert(self,index,item): """插入中间节点""" if (self.head is None) and (self.head.next is None): return cur = self.head while cur is not None and index > 1: index = index - 1 cur = cur.next node = Node(item) node.next = cur.next cur.next = node def add(self,item): """在头部添加节点""" node = Node(item) node.next = self.head self.head = node def length(self): """获取链表的长度""" cur = self.head count = 0 while cur is not None: count += 1 cur = cur.next return count def search(self,item): # 查看item在链表中是否存在 cur = self.head while cur != None: if cur.value == item: return True else: cur = cur.next return False def pop_last(self): """弹出链表的最后一个元素""" if self.head is None: return cur = self.head if cur.next is None: self.head = None return while cur.next.next is not None: cur = cur.next cur.next = None def pop_head(self): """把链表的第一个元素弹出""" if self.head is None: return self.head = self.head.next def cycle(self): """循环输出链表""" cur = self.head if cur.next == None: cur.next = self.head while cur.next != None: self.travel() time.sleep(3) if __name__ == ‘__main__‘: s = SingleLinkList() s.append(100) s.append(300) s.append(600) s.add(500) s.add(150) head = Node(30) head.next = Node(40) head.next.next = Node(50) s.pop_head() s.pop_last() s.cycle() s.travel() Python单链表的基本操作 标签:表的基本操作 插入 travel 存在 基本操作 val 头部 lse nbsp 原文地址:https://www.cnblogs.com/mengjie1016/p/13378316.html
下一篇:编程语言的各种注释形式