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

建房城乡建设部网站沧州网站设计公司价格

建房城乡建设部网站,沧州网站设计公司价格,dw网页制作超链接,响应式网站建设效果下面是一个用Python实现的双向链表类,包含了头插、尾插、归并排序等功能。这个类还包含了基本的链表操作,如插入、删除、遍历等。 下面是一个用Python实现的双向链表类,包含了头插、尾插、归并排序等功能。这个类还包含了基本的链表操作&…

 下面是一个用Python实现的双向链表类,包含了头插、尾插、归并排序等功能。这个类还包含了基本的链表操作,如插入、删除、遍历等。

  
下面是一个用Python实现的双向链表类,包含了头插、尾插、归并排序等功能。这个类还包含了基本的链表操作,如插入、删除、遍历等。
class Node:def __init__(self, data):self.data = dataself.prev = Noneself.next = Noneclass DoublyLinkedList:def __init__(self):self.head = Noneself.tail = Nonedef is_empty(self):return self.head is Nonedef insert_at_head(self, data):new_node = Node(data)if self.is_empty():self.head = self.tail = new_nodeelse:new_node.next = self.headself.head.prev = new_nodeself.head = new_nodedef insert_at_tail(self, data):new_node = Node(data)if self.is_empty():self.head = self.tail = new_nodeelse:new_node.prev = self.tailself.tail.next = new_nodeself.tail = new_nodedef delete_at_head(self):if self.is_empty():return Nonedata = self.head.dataif self.head == self.tail:self.head = self.tail = Noneelse:self.head = self.head.nextself.head.prev = Nonereturn datadef delete_at_tail(self):if self.is_empty():return Nonedata = self.tail.dataif self.head == self.tail:self.head = self.tail = Noneelse:self.tail = self.tail.prevself.tail.next = Nonereturn datadef print_list(self):current = self.headwhile current:print(current.data, end=" <-> ")current = current.nextprint("None")def get_middle(self, head):if head is None:return headslow = headfast = headwhile fast.next and fast.next.next:slow = slow.nextfast = fast.next.nextreturn slowdef merge(self, left, right):if left is None:return rightif right is None:return leftif left.data <= right.data:result = leftresult.next = self.merge(left.next, right)result.next.prev = resultelse:result = rightresult.next = self.merge(left, right.next)result.next.prev = resultreturn resultdef merge_sort(self, head):if head is None or head.next is None:return headmiddle = self.get_middle(head)next_to_middle = middle.nextmiddle.next = Nonenext_to_middle.prev = Noneleft = self.merge_sort(head)right = self.merge_sort(next_to_middle)sorted_list = self.merge(left, right)return sorted_listdef sort(self):self.head = self.merge_sort(self.head)# Update the tail after sortingcurrent = self.headwhile current and current.next:current = current.nextself.tail = current# Example usage:
dll = DoublyLinkedList()
dll.insert_at_tail(3)
dll.insert_at_tail(1)
dll.insert_at_tail(4)
dll.insert_at_tail(2)print("Original list:")
dll.print_list()dll.sort()
print("Sorted list:")
dll.print_list()dll.insert_at_head(5)
print("After inserting 5 at head:")
dll.print_list()dll.insert_at_tail(0)
print("After inserting 0 at tail:")
dll.print_list()

代码说明:
Node类:表示双向链表中的一个节点,包含数据、前驱指针和后继指针。
DoublyLinkedList类:表示双向链表,包含头节点和尾节点。
insert_at_head(data):在链表头部插入一个节点。
insert_at_tail(data):在链表尾部插入一个节点。
delete_at_head():删除链表头部的节点。
delete_at_tail():删除链表尾部的节点。
print_list():打印链表中的所有节点。
get_middle(head):找到链表的中间节点,用于归并排序。
merge(left, right):合并两个有序链表。
merge_sort(head):递归地对链表进行归并排序。
sort():对链表进行排序,并更新尾节点。
示例:
创建一个双向链表并插入一些数据。
对链表进行排序。
在链表头部和尾部插入新节点,并打印链表。
你可以根据需要扩展或修改这个类。


Original list:
3 <-> 1 <-> 4 <-> 2 <-> None
Sorted list:
1 <-> 2 <-> 3 <-> 4 <-> None
After inserting 5 at head:
5 <-> 1 <-> 2 <-> 3 <-> 4 <-> None
After inserting 0 at tail:
5 <-> 1 <-> 2 <-> 3 <-> 4 <-> 0 <-> None


文章转载自:

http://ICPscScw.yktkr.cn
http://6VcG1zgH.yktkr.cn
http://YaT0xhps.yktkr.cn
http://dSodw6WT.yktkr.cn
http://qH6ZjMyZ.yktkr.cn
http://gVUuj1Ob.yktkr.cn
http://sdpKFueR.yktkr.cn
http://SEQhU7vz.yktkr.cn
http://4ariepNw.yktkr.cn
http://s9XEmRLu.yktkr.cn
http://98IjOu1m.yktkr.cn
http://DN01vLMm.yktkr.cn
http://l6UFD138.yktkr.cn
http://DliLFijy.yktkr.cn
http://GvptGqnL.yktkr.cn
http://2kkwDMzC.yktkr.cn
http://f9A0OUJX.yktkr.cn
http://e9YTmdL4.yktkr.cn
http://xzf8DLHi.yktkr.cn
http://pkDhNvRB.yktkr.cn
http://rKZ9D3oT.yktkr.cn
http://Yj5wCHeC.yktkr.cn
http://N5AKMOtw.yktkr.cn
http://flMXnM0j.yktkr.cn
http://P9MudZGJ.yktkr.cn
http://GzcpTMOA.yktkr.cn
http://rSG3pm0F.yktkr.cn
http://Oue3OXDD.yktkr.cn
http://FjlKAPAe.yktkr.cn
http://U5kEpJCT.yktkr.cn
http://www.dtcms.com/wzjs/771140.html

相关文章:

  • 保定网站模板建站wordpress raw
  • 南阳优化网站排名百度网址大全怎么设为主页
  • 网站开发工具c正规的网上购物平台
  • 网站改版中销售网站开发的背景
  • 天津大型网站设计公司重庆平台网站建设
  • 网站根目录是什么浙江大境软装设计公司
  • 丢了么网站专业网站设计师去哪找
  • 河南省建设协会网站网站建设ps模板下载
  • 网站 用户体验的重要性城乡建设部网站首页甲级
  • 企业建设网站的目的手机上自己设计房子软件
  • 永嘉高端网站建设效果要建设一个网站需要什么手续费
  • 做门户网站代码质量方面具体需要注意什么网站设计需要哪些技能
  • 用小米路由器做网站wordpress页面是什么意思
  • 深圳哪家做网站好wordpress自建电商网站
  • 做视频网站可以自学吗项目外包和人力外包的区别
  • 做服务器的网站都有哪些分类网站营销
  • 网站规划与设计大作业四平网络推广公司
  • 网站建设 蜀美网络h5网站实例
  • 番禺网站开发服务台州网站建设技术外包
  • 青海互动网站建设温州网站建设技术托管
  • wordpress中英文站点设计作品集模板
  • 建设网站找谁公司信息查询网
  • 海南网站推广抖音小程序怎么挂到抖音上
  • wordpress开启多站点功网站为什么被挂马
  • 做网站都要学什么编程网站scratch网址
  • 网站建设计划图公司网络组建设计与方案
  • 昆明电商网站建设网站的交流的功能怎么做
  • 用阿里云建站wordpressWordPress 长文 阅读
  • 做网站拿来卖中国购物网站排行榜
  • 社交网站实名备案wordpress获取主页路径