打开Python开发工具IDLE,新建‘DoubleLinkedList.py’文件,并写代码如下;

class Node:

def __init__(self,item):

self.item = item

self.next = None

self.pre = None

class DoubleLinkedList:

def __init__(self):

self.__head = None

def add(self,item):

node = Node(item)

if self.isEmpty():

self.__head = node

else:

node.next = self.__head

self.__head.pre = node

self.__head = node

def isEmpty(self):

return self.__head == None

def walk(self):

cur = self.__head

while cur is not None:

print (cur.item)

cur = cur.next

def length(self):

cur = self.__head

count = 0

while cur is not None:

count += 1

cur = cur.next

return count

if __name__ == '__main__':

sll = DoubleLinkedList()

sll.add(8)

sll.add(9)

sll.walk()

walk、length、isEmpty三个函数和单向链表一样的,不需要改动,add函数要注意pre的赋值。

python 双向链表_Python实现双向链表相关推荐

  1. python程序双向链表_Python 实现双向链表(图解)

    原文:https://blog.csdn.net/qq490691606/article/details/49948263 git 路径 https://github.com/wangpanjun/d ...

  2. python画代码-Python教程_Python画Mandelbrot集 代码

    Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...

  3. php 双向链表,Go实现双向链表

    本文介绍什么是链表,常见的链表有哪些,然后介绍链表这种数据结构会在哪些地方可以用到,以及 Redis 队列是底层的实现,通过一个小实例来演示 Redis 队列有哪些功能,最后通过 Go 实现一个双向链 ...

  4. c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...

    用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...

  5. 双向链表和循环双向链表的基本操作

    双向链表和循环双向链表的基本操作 #include<stdio.h> #include<malloc.h> typedef struct LNode {int data;str ...

  6. python编程语言_python编程语言的简要历史

    python编程语言 The Python programming language is a general-purpose programming language that has carved ...

  7. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

  8. python 双向链表_python算法与数据结构-双向链表(40)

    一.双向链表的介绍 一种更复杂的链表是"双向链表"或"双面链表".每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值:而另一个指向下一个节 ...

  9. python 双向链表_数据结构-双向链表(Python实现)

    数据结构在编程世界中一直是非常重要的一环,不管是开发还是算法,哪怕是单纯为了面试,数据结构都是必修课,今天我们介绍链表中的一种--双向链表的代码实现. 好了,话不多说直接上代码. 双向链表 首先,我们 ...

最新文章

  1. 优秀工程师至关重要的一项技能,你解锁了吗?
  2. Java 线程同步组件 CountDownLatch 与 CyclicBarrier 原理分析
  3. ABAP Smart Help调试截图
  4. TCP文件上传Java_java 基于TCP协议的文件上传
  5. 指数型组织形成的 9 大驱动因素
  6. teechart mysql_TeeChart 的应用
  7. 吉林大学计算机与科学专业排名,吉林大学专业排名 哪些王牌专业推荐就读
  8. php网站不能访问,php怎么不登录不能访问
  9. libvirt-virsh命令
  10. php删除图片按钮代码,jquery 按钮预览图片功能的代码,我看不太懂。应该怎么学...
  11. contentprovider java_访问不了自己创建的Contentprovider,报错:java.lang.SecurityException: Permission Denial...
  12. 10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(一)
  13. UI设计师必备|Web设计尺寸规范
  14. 企业网站排名,站内布局,不只有关键词密度
  15. linux带密码解压密码,linux下解压有密码的rar压缩包
  16. 高级商务办公软件应用【9】
  17. SpringBoot项目启动异常:Field settlementMissService in...Service required a single bean, but 2 were found:
  18. 小白自总结【遥感图像目视解译】ArcGIS下 1/6北京区域 五类地物
  19. matlab 二自由度振动仿真,基于Adams和Matlab二自由度系统振动的仿真分析研究
  20. 变量被重复定义的问题

热门文章

  1. 数据仓库、商业智能的体系结构
  2. 微型计算机系统配置实训报告,微机配置方案设计实训报告2018
  3. php表单验证并使值变化,php – Zend_Form手动设置和验证字段值
  4. 2019蓝桥杯国赛B组第九题
  5. P2680 运输计划(树上差分+lca+二分)
  6. N的倍数(抽屉原理)
  7. oracle 不存在函数,Oracle – 此范围内不存在名称为X的函数
  8. LQ训练营(C++)学习笔记_栈与递归
  9. sql如何实现明细账_SQL 如何实现动态的行列转置
  10. 『设计模式』备忘录模式(memento)下象棋,我就想悔棋怎么办