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

秦皇岛网站建设价格湖州做网站优化

秦皇岛网站建设价格,湖州做网站优化,怎么设置网站的关键字,做海报用的图片网站一、引言 双向链表是一种比单向链表更复杂的数据结构,每个节点除了包含数据和指向下一个节点的指针外,还包含一个指向前一个节点的指针。这种结构使得我们可以从链表的任何节点开始,向前或向后遍历链表。 目录 一、引言 二、节点定义 三、…

一、引言

        双向链表是一种比单向链表更复杂的数据结构,每个节点除了包含数据和指向下一个节点的指针外,还包含一个指向前一个节点的指针。这种结构使得我们可以从链表的任何节点开始,向前或向后遍历链表。

目录

一、引言

二、节点定义

三、链表实现

四、链表操作

五、应用示例

下面是一个使用双向链表类的示例:

输出结果为: 

总结



二、节点定义

  • 首先,我们需要定义一个双向链表的节点类(Node),它包含数据成员、指向前一个节点的指针和指向下一个节点的指针。


class Node:  def __init__(self, data=None):  self.data = data  self.prev = None  self.next = None

三、链表实现

  • 接下来,我们定义一个双向链表类(DoublyLinkedList),它包含头节点、尾节点和一系列操作链表的方法。
class DoublyLinkedList:  def __init__(self):  self.head = None  self.tail = None  def append(self, value):  new_node = Node(value)  if not self.head:  self.head = new_node  self.tail = new_node  else:  new_node.prev = self.tail  self.tail.next = new_node  self.tail = new_node  def prepend(self, value):  new_node = Node(value)  if not self.head:  self.head = new_node  self.tail = new_node  else:  new_node.next = self.head  self.head.prev = new_node  self.head = new_node  def delete(self, value):  current = self.head  while current:  if current.data == value:  if current == self.head and current == self.tail:  self.head = None  self.tail = None  elif current == self.head:  self.head = current.next  self.head.prev = None  elif current == self.tail:  self.tail = current.prev  self.tail.next = None  else:  current.prev.next = current.next  current.next.prev = current.prev  return True  current = current.next  return False  def print_list(self):  current = self.head  while current:  print(current.data, end=" ")  current = current.next  print()

四、链表操作

  • 在双向链表类中,我们实现了几个基本操作:append(在尾部添加新节点)、prepend(在头部添加新节点)、delete(删除指定值的节点)和print_list(打印链表中的所有元素)。

五、应用示例

  • 下面是一个使用双向链表类的示例:
doubly_linked_list = DoublyLinkedList()  
doubly_linked_list.append(3)  
doubly_linked_list.append(2)  
doubly_linked_list.prepend(1)  
doubly_linked_list.prepend(0)  print("链表中的元素为:", end=" ")  
doubly_linked_list.print_list()  doubly_linked_list.delete(2)  print("删除元素2后的链表为:", end=" ")  
doubly_linked_list.print_list()

  • 输出结果为: 
链表中的元素为: 0 1 3 2   
删除元素2后的链表为: 0 1 3

总结

        双向链表是一种功能强大的数据结构,它允许我们在两个方向上遍历链表,提供了更多的操作灵活性。在实际应用中,双向链表常用于实现双向队列、双向栈等数据结构,以及需要高效插入、删除和遍历操作的场景。

http://www.yayakq.cn/news/978962/

相关文章:

  • 做设计常用网站网站加视频播放设计怎么做的
  • html5网站素材中国建设行业网
  • 58同城网站建设规划wordpress加载网页
  • 网站功能优化蚌山网站建设
  • 莱州市规划建设管理局网站wordpress主题加速插件
  • dw做网站首页代码手机企业网站推广
  • 那个网站做h5好狠狠做新网站
  • 上海建设行政主管部门政务网站wordpress文章带描述的工具
  • 企业网站建设费未付款怎样挂账dedecms做的网站收费吗
  • 做的网站怎么发布到网上网站蓝色
  • 上海建站江苏交通建设监理协会网站
  • 网站如何设置默认首页第一次做网站做后感
  • 做 英语试题的网站国内做网站哪个好
  • app网站搭建做设计常用网站有哪些
  • 网站托管服务方案手机如何申请个人邮箱
  • 深圳建设信息网站建公司网站需要自己有系统吗
  • 网站建设企业 熊账号网络营销的主要特点有哪些
  • 外贸网站运营怎么做wordpress文章内多页面
  • 南通网站建设团队宁德市市长
  • 做网站怎么打不开localhostui设计流程培训怎么样
  • 殡葬网站建设盗墓笔记wordpress小说主题
  • 做中东服装有什么网站企业网站建设600元
  • 电子商务网站业务流程分析网站建设方案项目书
  • 有动态图片的网站源码网站开发技术项目式教程
  • 网站右侧广告代码详情页制作
  • 培训网站模板免费做视频网站 视频放在哪里找
  • 成都网站建设技术如何创建一个公司网站
  • 网站多大够用wordpress 七牛缩略图
  • 手机网站建设价位西安便民信息发布平台
  • 个人网站规划书模板上海高端品牌网站制作