栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[数据结构] python 单链表的创建

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[数据结构] python 单链表的创建

链表:链表是由一系列节点组成的元素的集合。每个节点包含两部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接 ,最终串联成一个链表。

创建链表有两种方式:头插法、尾插法。

头插法:顾名思义就是从链表的头上插入结点,如图所示

当下一个结点“3”进来时,把“3”连上链表的头部“2”

 此时此刻,“3”要成为新的头,头结点指向“3”

代码思路总结:

1. 指定头结点

2. 新元素的next指向头结点

3. 新元素成为头结点

尾插法:尾插法就是从链表的尾部插入结点,如图所示

 当下一个结点“3”进来时,把“3”连上链表的尾部“2”

此时此刻,“3”要成为新的尾,尾结点指向“3”

代码思路总结:

1. 指定一个头结点、和一个尾结点

2. 链表中最后一个结点的next指向新元素

3. 新元素成为尾结点

 

整体代码如下:

# 初始化链表class Node:    def __init__(self, item):        self.item = item        self.next = None# 链表的创建# 头插法:def create_linklist_head(li):    head = Node(li[0])  # 头结点    for element in li[1:]:        node = Node(element)        node.next = head        head = node    return head# 尾插法:def create_linklidt_tail(li):    head = Node(li[0])    tail = head    for element in li[1:]:        node = Node(element)        tail.next = node        tail = node    return head# 返回头结点因为头结点是第一个结点# 遍历输出链表:def print_linklist(li):    while li:        print(li.item, end=',')        li = li.next    print(end='n')li = create_linklist_head([1, 2, 3, 6, 8])print_linklist(li)lk = create_linklidt_tail([1, 2, 3, 6, 8])print_linklist(lk)

 结果输出为:

8,6,3,2,1,1,2,3,6,8,

 可看出,头插法是到这输出的,尾插法是顺序输出的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268482.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号