python怎么实现链表(Python实现数据结构线性链表单链表算法示例)
类别:脚本大全 浏览量:1388
时间:2021-10-06 01:36:08 python怎么实现链表
Python实现数据结构线性链表单链表算法示例本文实例讲述了python实现数据结构线性链表(单链表)算法。分享给大家供大家参考,具体如下:
初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码。
|
#!/usr/bin/python # -*- coding:utf-8 -*- # author: hui # date: 2017-10-13 # 结点类, class node: def __init__( self , data): self .data = data # 数据域 self . next = none # 指针域 def get_data( self ): return self .data # 链表类 class list : def __init__( self , head): self .head = head # 默认初始化头结点 def is_empty( self ): # 空链表判断 return self .get_len() = = 0 def get_len( self ): # 返回链表长度 length = 0 temp = self .head while temp is not none: length + = 1 temp = temp. next return length def append( self , node): # 追加结点(链表尾部追加) temp = self .head while temp. next is not none: temp = temp. next temp. next = node def delete( self , index): # 删除结点 if index < 1 or index > self .get_len(): print "给定位置不合理" return if index = = 1 : self .head = self .head. next return temp = self .head cur_pos = 0 while temp is not none: cur_pos + = 1 if cur_pos = = index - 1 : temp. next = temp. next . next temp = temp. next def insert( self , pos, node): # 插入结点 if pos < 1 or pos > self .get_len(): print "插入结点位置不合理..." return temp = self .head cur_pos = 0 while temp is not node: cur_pos + = 1 if cur_pos = = pos - 1 : node. next = temp. next temp. next = node break temp = temp. next def reverse( self , head): # 反转链表 if head is none and head. next is none: return head pre = head cur = head. next while cur is not none: temp = cur. next cur. next = pre pre = cur cur = temp head. next = none return pre def print_list( self , head): # 打印链表 init_data = [] while head is not none: init_data.append(head.get_data()) head = head. next return init_data if __name__ = = '__main__' : head = node( "head" ) list = list (head) print '初始化头结点:\t' , list .print_list(head) for i in range ( 1 , 10 ): node = node(i) list .append(node) print '链表添加元素:\t' , list .print_list(head) print '链表是否空:\t' , list .is_empty() print '链表长度:\t' , list .get_len() list .delete( 9 ) print '删除第9个元素:\t' , list .print_list(head) node = node( "insert" ) list .insert( 3 , node) print '第3个位置插入‘insert' 字符串 :\t', list .print_list(head) head = list .reverse(head) print '链表反转:' , list .print_list(head) |
执行结果:
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/King0217/article/details/78228433
您可能感兴趣
- python指定路径创建txt文件(python根据txt文本批量创建文件夹)
- python选择排序最大最小同时排序(Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例)
- python脚本压缩包解密(详解Python 解压缩文件)
- pythonlist列表讲解(Python中将两个或多个list合成一个list的方法小结)
- python统计出现文字最多的词(使用Python 统计高频字数的方法)
- python 装饰器模式(python重试装饰器的简单实现方法)
- 简述python2与python3的不同点(Python2与Python3的区别实例分析)
- python微信自动化(python微信撤回监测代码)
- python的基础数据结构有哪些(详解python的四种内置数据结构)
- python密码错误3次不能再输入(Python实现账号密码输错三次即锁定功能简单示例)
- python3简单编程(Python3.5面向对象编程图文与实例详解)
- python可以编写数据加密解密吗(python简单实现AES加密和解密)
- python 调钉钉接口(python3实现钉钉消息推送的方法示例)
- python如何使用multiprocess(Python multiprocessing多进程原理与应用示例)
- python获取微信用户(python-itchat 获取微信群用户信息的实例)
- python3字符串格式化怎么操作(python3实现字符串操作的实例代码)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
- 《内在美》后,一大波新韩剧来袭,李钟硕朴信惠宋慧乔玄彬回归(一大波新韩剧来袭)
- 给孩子选购保温杯,注意这4个步骤,比颜值更重要(给孩子选购保温杯)
- 保温好 容量大 颜值高 保温杯你给娃娃买对了吗(保温好容量大颜值高)
- 《道德经》 人生避开骄狂,才能免去祸患(道德经人生避开骄狂)
热门推荐
- 怎么把云服务器初始化(云服务器需要重启吗?)
- dedecms搜索功能怎么设置详细(DEDECMS 隔行换色以及分组加线修改方法)
- jenkins 设置gitlab(jenkins+gitlab+nginx部署前端应用实现)
- html5的canvas代码(H5最强接口之canvas实现动态图形功能)
- 列举服务器网络防御措施(如何对Web服务器进行飓风级防御)
- pythonindex函数用法(python sort、sort_index方法代码实例)
- php代码生成器(PHP迭代器和生成器用法实例分析)
- Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】(Python HTML解析器BeautifulSoup用法实例详解爬虫解析器)
- 云服务器定时重启(云服务器无法正常关机/重启的几种原因)
- pythonyield有什么用(彻底理解Python中的yield关键字)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9