Python单链表简单实现代码
更新时间:2016年04月27日 08:57:49 作者:阳光_如此耀眼
这篇文章主要介绍了Python单链表简单实现代码,结合实例形式分析了Python单链表的具体定义与功能实现技巧,需要的朋友可以参考下
本文实例讲述了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单向链表的实现
- python数据结构链表之单向链表(实例讲解)
- python实现单向链表详解
- Python单向链表和双向链表原理与用法实例详解
- python实现反转部分单向链表
- python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
- python实现获取单向链表倒数第k个结点的值示例
- Python数据结构与算法之列表(链表,linked list)简单实现
- Python实现针对给定单链表删除指定节点的方法
- Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
- python实现单链表中删除倒数第K个节点的方法
- python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
相关文章
Python调用olmOCR大模型实现提取复杂PDF文件内容
olmocr是由Allen人工智能研究所(AI2)开发的一个开源工具包,旨在高效地将PDF和其他文档转换为结构化的纯文本,同时保持自然阅读顺序,下面我们来看看如何使用olmOCR大模型实现提取复杂PDF文件内容吧2025-03-03
解决Python运行文件出现out of memory框的问题
今天小编就为大家分享一篇解决Python运行文件出现out of memory框的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-12-12


最新评论