首页 > 编程 > Python > 正文

Python单链表简单实现代码

2019-11-25 16:49:35
字体:
来源:转载
供稿:网友

本文实例讲述了Python单链表简单实现代码。分享给大家供大家参考,具体如下:

用Python模拟一下单链表,比较简单,初学者可以参考参考

#coding:utf-8class Node(object):  def __init__(self, data):    self.data = data    self.next = Noneclass 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 casen1 = 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 datanode_list.show()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表