生成随机链表 打印链表

发布时间:2021-12-09 00:03:27

生成随机长度的单向链表

class Node(object):

def __init__(self, value=None, next=None):
self.val = value
self.next = next

def __repr__(self):
return "Node:{0.val!s}".format(self)

def __str__(self):
next = None
if self.next:
next = self.next.val
return "Node({0.val!s},next:{1})".format(self,next)


def generateLinkedList(maxnum=20):
import random
import string
num = random.randint(0, maxnum)
if num == 0:
return None
head = Node(random.choice(string.ascii_uppercase))
cur = head
for i in range(1, num):
cur.next = Node(random.choice(string.ascii_uppercase))
cur = cur.next
return head

生成随机长度的双向链表

class DoubleWayNode(Node):

def __init__(self, value=None, pre=None, next=None):
super().__init__(value, next)
self.pre = pre

def __str__(self):
pre = next = None
if self.next:
next = self.next.val
if self.pre:
pre = self.pre.val
return "Node(pre:{0},{1.val!s},next:{2})".format(pre,self,next)

def generateDoubleWayLinkedList(maxnum=20):
num = random.randint(0, maxnum)
if num == 0:
return None
head = DoubleWayNode(random.choice(string.ascii_uppercase))
cur = head
for i in range(1, num):
cur.next = DoubleWayNode(random.choice(string.ascii_uppercase),pre=cur)
cur = cur.next
return head

打印链表

def traverseLinkedList(head):
cur = head
while cur:
print(cur.val, end=",")
cur = cur.next

相关文档

  • 我们终会幸福的散文
  • 那些军训日子作文
  • 圆南瓜菜谱大全
  • java认证框架_sa-token 一个的JavaWeb权限认证框架,强大、简单、好用
  • Laravel / Lumen 实践总结
  • 关于写银行年终工作总结
  • 院墙外的天空作文1000字
  • 怎么把屏幕字变大
  • 高考优秀示范性作文:美,距离的忧伤
  • 常用嵌入式软件白盒测试工具介绍
  • jquery window redirect
  • 我想当一名黑客
  • 惊险:伦敦飞行客机遭闪电击穿 竟安然无恙
  • 写一篇五年级的数学日记
  • 员工与公司签订承诺书共4篇
  • 关于成本会计本科毕业论文范文
  • 一件让我快乐的事命题作文
  • 空间说说英语说说
  • 家具橱柜设计师工作总结范文
  • 这里最美
  • 马说主旨马说的主旨是什么
  • 多线程工具-CountDownLatch、CyclicBarrier、Semaphore
  • 英语推荐信写作的万能模板
  • python中的序列类型和序列号_Python序列类型包括字符串、列表和元组三种,列表是Python中唯一的映射类型...
  • 万佛寺的导游词
  • 安卓手机经常网络断开
  • Java如何调用C#写的
  • 钉钉app部门主管在哪里设置?怎么设置?
  • 高三毕业祝福寄语留言
  • 老牛爱吃铁板烧,老牛爱吃烧铁板是哪个小品里的一句话
  • 猜你喜欢

    电脑版