当前位置: 首页 > news >正文

万州网站建设阿里巴巴指数查询

万州网站建设,阿里巴巴指数查询,迪哥哪个网站上做游戏直播,马鞍山广播电视台1 问题 用python实现单链表的基础操作:插入,删除,遍历,判空,清空链表,求长度,获取元素,判断元素是否存在。 2 方法 解决问题的步骤采用如下方式: 使用函数和类的方法来实…

1 问题

用python实现单链表的基础操作:插入,删除,遍历,判空,清空链表,求长度,获取元素,判断元素是否存在。

2 方法

解决问题的步骤采用如下方式:

  1. 使用函数和类的方法来实现单链表的基本操作

  2. 插入操作时使用头插法

  3. 删除操作时,删除头节点一行代码即可,其他位置的需要判断+遍历

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

class Node:
   """链表节点初始化"""
   def __init__(self, item):
       self.item = item
       self._next = None
class LinkList:
   """链表及其相关操作"""
   def __init__(self):
       self._head = None
   def is_empty(self):
       """判断是否为空链表,头节点为None则是空"""
       return self._head is None
   def length(self):
       """求链表的长度"""
       p = self._head
       count = 0
       while p:
           count += 1
           p = p._next
       return count
   def append(self, item):
       """向链表尾部添加元素, 考虑是否是空链表"""
       node = Node(item)
       p = self._head
       if not p:
           self._head = node
       else:
           while p._next:
               p = p._next
           p._next = node
   def add(self, item):
       """向链表头部插入元素"""
       node = Node(item)
       node._next = self._head
       self._head = node
   def insert(self, position, item):
       """向链表中插入元素"""
       # 头插 or 尾插 or 中间插入
       if position <= 0:
           self.add(item)
       elif position >= self.length():
           self.append(item)
       else:
           pre = self._head
           count = 0
           while count < position - 1:
               count += 1
               pre = pre._next
           node = Node(item)
           node._next = pre._next
           pre._next = node
   def get_item(self, position):
       """获取某位置的元素"""
       if position < 0 or position >= self.length():
           return None
       p = self._head
       count = 0
       while count != position:
           p = p._next
           count += 1
       return p.item
   def exixt_value(self, item):
       """某个值是否存在"""
       p = self._head
       while p:
           if p.item == item:
               return True
           else:
               p = p._next
       return False
   def remove(self, item):
       """删除元素"""
       p = self._head
       pre = None
       while p:
           if p.item == item:
               # 是否头节点
               if not pre:
                   self._head = p._next
               else:
                   pre._next = p._next
                   break
           else:
               pre = p
               p = p._next
   def clear(self):
       """删除链表"""
       self._head = None
   def travel(self):
       """列表遍历"""
       p = self._head
       while p:
           print(p.item, end=" ")
           p = p._next
       print()
if __name__ == '__main__':
   linklist = LinkList()
   linklist.append(2)
   linklist.append(3)
   linklist.append(4)
   linklist.append(5)
   print(linklist.length())  
   linklist.travel()  
   linklist.add(1)
   linklist.add(0)
   linklist.travel()  
   linklist.insert(2, 8)
   linklist.insert(2, 9)
   linklist.travel()  
   print(linklist.get_item(2), linklist.get_item(12), linklist.get_item(4))    
   print(linklist.exixt_value(9), linklist.exixt_value(20))    
   linklist.remove(9)
   linklist.remove(5)
   linklist.travel()  
   linklist.clear()
   linklist.travel()  

3 结语

针对用python实现单链表的基础操作,通过python运行实验,证明该方法是有效的,这种设置方法代码较多,因此未来还需继续改善这种方法以适应更多场景。

http://www.zhongyajixie.com/news/41707.html

相关文章:

  • 专业APP客户端做网站优化网站排名如何
  • 信阳网站开发公司电话qq推广工具
  • 产品经理兼职做网站报酬中国网站排名网官网
  • 江苏网站设计成人大学报名官网入口
  • html旅游网站模板大数据统计网站
  • 莱芜网站开发营销推广公司
  • 模板网站和定制网站超级推荐的关键词怎么优化
  • 行业网站做的好的餐饮管理培训课程
  • 全景图制作平台网站建设seo 最新
  • 建网站工具寻找外贸客户的网站
  • 旅游景点网站建设规划书站外seo是什么
  • 云南app制作搜索引擎优化网站的网址
  • 做网站后面维护要收钱吗百度快照客服人工电话
  • 网站开发方式包括线上培训
  • 成都网站建设哪里好可以引流推广的app
  • 河北区做网站公司seo优化上首页
  • wordpress手机上发文关键词排名优化系统
  • 济南网站建设公司 推荐行知科技网络营销顾问招聘
  • 中国专业做鞋子的网站韶关新闻最新今日头条
  • 桂林市人力资源和社会保障局搜索引擎优化自然排名
  • 怎么做产品的网站上海企业seo
  • 医院网站建设意义哪里有免费的网站推广
  • 门户地方网站 策略百度seo优化是做什么的
  • 上蔡县做彩票网站深圳网站优化公司
  • jsp网站开发小程序冯耀宗seo博客
  • 自己做网站犯法吗免费推广软件平台
  • 如何做推广自己网站网站百度收录查询
  • 黄冈市建设信息网站百度推广营销方案
  • 龙岗做网站全能搜
  • 网站访问慢 分析工具seo关键词优化经验技巧