南强小屋 Design By 杰米
本文实例讲述了Python单链表简单实现代码。分享给大家供大家参考,具体如下:
用Python模拟一下单链表,比较简单,初学者可以参考参考
#coding:utf-8 class Node(object): def __init__(self, data): self.data = data self.next = None class NodeList(object): def __init__(self, node): self.head = node self.head.next = None self.end = self.head def add_node(self, node): self.end.next = node self.end = self.end.next def length(self): node = self.head count = 1 while node.next is not None: count += 1 node = node.next return count # delete node and return it's value def delete_node(self, index): if index+1 > self.length(): raise IndexError('index out of bounds') i = 0 node = self.head while True: if i==index-1: break node = node.next i += 1 tmp_node = node.next node.next = node.next.next return tmp_node.data def show(self): node = self.head node_str = '' while node is not None: if node.next is not None: node_str += str(node.data) + '->' else: node_str += str(node.data) node = node.next print node_str # Modify the original position value and return the old value def change(self, index, data): if index+1 > self.length(): raise IndexError('index out of bounds') i = 0 node = self.head while True: if i == index: break node = node.next i += 1 tmp_data = node.data node.data = data return tmp_data # To find the location of index value def find(self, index): if index+1 > self.length(): raise IndexError('index out of bounds') i = 0 node = self.head while True: if i == index: break node = node.next i += 1 return node.data #test case n1 = Node(0) n2 = Node(1) n3 = Node(2) n4 = Node(3) n5 = Node(4) node_list = NodeList(n1) node_list.add_node(n2) node_list.add_node(n3) node_list.add_node(n4) node_list.add_node(n5) #node = node_list.delete_node(3) #print node #d = node_list.change(0,88) data = node_list.find(5) print data node_list.show()
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
标签:
Python,单链表
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无Python单链表简单实现代码的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。