e时代网站制作,网站建设品,域名备案和网站备案有什么不同,wordpress按最后评论排序# coding:utf-8# 单链表的相关操作#xff1a;
# is_empty() 链表是否为空
# length() 链表长度
# travel() 遍历整个链表
# add(item) 链表头部添加元素
# append(item) 链表尾部添加元素
# insert(pos, item) 指定位置添加元素
# remove(item) 删除节点
# search(item) 查找…# coding:utf-8# 单链表的相关操作
# is_empty() 链表是否为空
# length() 链表长度
# travel() 遍历整个链表
# add(item) 链表头部添加元素
# append(item) 链表尾部添加元素
# insert(pos, item) 指定位置添加元素
# remove(item) 删除节点
# search(item) 查找节点是否存在class Node(object):节点def __init__(self, elem):# 数据区self.elem elem# 指向下一个节点self.next Noneclass SingleLikedList(object):单链表def __init__(self, node None):# 头节点self.__head nodedef is_empty(self):链表是否为空return self.__head is Nonedef length(self):链表长度cur self.__headcount 0while cur ! None:count 1cur cur.nextreturn countdef travel(self):遍历整个链表cur self.__headwhile cur ! None:print(cur.elem, end )cur cur.nextprint()def add(self, item):链表头部添加元素头插法# 创建一个Nodenode Node(item)node.next self.__headself.__head nodedef append(self, item):链表尾部添加元素尾插法# 创建一个Nodenode Node(item)# 如果链表为空if self.is_empty():self.__head nodeelse:cur self.__headwhile cur.next ! None:cur cur.nextcur.next nodedef insert(self, pos, item):指定位置添加元素:param pos 从0开始if pos 0:self.add(item)elif pos (self.length() - 1):self.append(item)else:pre self.__headcount 0# 1 2 3 4 5 6# pos 3, item 9while count (pos - 1):count 1pre pre.next# 当循环结束后pre指向要插入位置的前一个即pos-1的位置node Node(item)node.next pre.nextpre.next nodedef remove(self, item):删除节点pre Nonecur self.__headwhile cur ! None:if cur.elem item:# 判断此节点是否为头节点if cur self.__head:self.__head cur.nextelse:pre.next cur.nextbreakelse:pre curcur cur.nextdef search(self,item):查找节点是否存在cur self.__headwhile cur ! None:if cur.elem item:return Trueelse:cur cur.nextreturn Falseif __name__ __main__:sll SingleLikedList()print(initialized...)print(is_empty:, sll.is_empty())print(length:, sll.length())sll.append(1)print(is_empty:, sll.is_empty())print(length:, sll.length())sll.append(2)sll.append(3)sll.append(4)sll.append(5)sll.append(6)sll.add(7)sll.travel()print(before insert exist -5:,sll.search(-5))sll.insert(-5, -5)print(after insert exist -5:, sll.search(-5))sll.travel() 转载于:https://www.cnblogs.com/coderwjq/p/7305325.html