iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python单向链表的实现方法
  • 319
分享到

python单向链表的实现方法

2023-06-14 22:06:31 319人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python单向链表的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python的数据类型有哪些?python的数据类型:1. 数字类型,包括int

这篇文章主要介绍了python单向链表的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

1、说明

单向链接表(单链表):每个节点包括两个域、一个信息域(元素域)和一个连接域,该链接指向链接表的下一个节点,最后一个节点的链接指向空值。

表要素elem用于存储具体数据。

链接域next用于存管下一个节点的位置(python中的标志)

变量P指向链表头节点(首节点)的位置,可以从P出发找到表中的任意节点。

2、实例

class node(object):    def __init__(self, elem):        """        :param elem: 表元素域        next:下一结点链接域        cursor(cur):游标        """        self.elem = elem        # 定义next指向空        self.next = None  class SingleLinkList(object):    """    单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一一个节点,而最后-个节点的链接域则指向一个空值。    表元素域elem用来存放具体的数据。    链接域next用来存放下一个节点的位置(python中的标识)    变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。    """     def __init__(self, node=None):        self.__head = node  # node.elem node.next     def is_empty(self):        """链表是否为空   """        return self.__head is None     def length(self):        """链表长度"""        # cur游标,用来移动遍历节点        cur = self.__head        count = 0        while cur is not None:            count += 1            cur = cur.next            # count 记录数量        return count     def travel(self):        """遍历整个链表"""        cur = self.__head        while cur is not None:            print(cur.elem, end=' ')            cur = cur.next     def add(self, item):        """链表头部添加元素:头插法"""        node = Node(item)        node.next = self.__head        self.__head = node     def append(self, item):        """链表尾部添加元素:尾插法"""        node = Node(item)        # 下一结点链接域不为空        if self.is_empty():            self.__head = node        else:            cur = self.__head            while cur.next is not None:                cur = cur.next            cur.next = node     def insert(self, pos, item):        """        pos: pos从0开始        pre:指定节点前一节点,相当于游标        node:插入的指定节点        指定位置添加元素        """        # if pos<=0 头插法        if pos <= 0:            self.add(item)        # elif pos>(self.length()-1) 尾插法        elif pos > (self.length() - 1):            self.append(item)        # else 插入法        else:            pre = self.__head            count = 0            # 当循环退出后,pre指向pos-1            while count < (pos - 1):                count += 1                pre = pre.next            node = Node(item)            node.next = pre.next            pre.next = node     def remove(self, item):        """删除元素"""        # 考虑删除头部、尾部、中间节点        cur = self.__head        pre = None        while cur is not None:            if cur.elem == item:                # 先判断是否是头节点                if cur == self.__head:                    self.__head = cur.next                else:                    pre.next = cur.next                break            else:                pre = cur                cur = cur.next     def search(self, item):        """查找节点是否存在"""        # 1. 创建游标        cur = self.__head        # 2. 遍历游标        while cur is not None:            # 3. cur.elem = item            if cur.elem == item:                return True            else:                cur = cur.next        return Falseif __name__ == '__main__':    ll = SingleLinkList()    ll.is_empty()    l1 = ll.length()    print(l1)     ll.append(55)    ll.is_empty()    l2 = ll.length()    print(l2)     ll.append(2)    ll.add(8)    ll.append(3)    ll.append(4)    ll.append(5)    # 55 1 8 2 3 4    ll.insert(-1, 9)  # 9 8 55 2 1 8 2345    ll.insert(2, 100)  # 9 8 100 55 2 1 8 2345    ll.travel()

感谢你能够认真阅读完这篇文章,希望小编分享的“python单向链表的实现方法”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: python单向链表的实现方法

本文链接: https://www.lsjlt.com/news/275523.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python单向链表的实现方法
    这篇文章主要介绍了python单向链表的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(...
    99+
    2023-06-14
  • Python实现单向链表
    单向链表每个节点都是由两部分组成:数据字段和指针,指针指向下一个元素在内存中的位置。 单向链表的第一个节点节点是链表头指针,而最后一个节点的指针设为None,不指向任何元素。(链表头...
    99+
    2024-04-02
  • python怎么实现单向链表及单向链表的反转
    这篇文章给大家分享的是有关python怎么实现单向链表及单向链表的反转的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。链表的定义链表中的每个节点会存储相邻节点的位置信息,单链表中的每个节点只存储下一关节点的位置信息...
    99+
    2023-06-14
  • python如何实现单向链表及单向链表的反转
    链表的定义 链表中的每个节点会存储相邻节点的位置信息,单链表中的每个节点只存储下一关节点的位置信息 单向链表的实现 class ListNode: def __init_...
    99+
    2024-04-02
  • python中的单向链表实现
    目录一、单向链表概念二、建立节点对象三、链表对象的初始定义四、判断链表是否为空五、获取链表长度六、向头部添加节点七、向尾部添加节点八、指定位置插入节点九、删除指定位置的节点十、查找是...
    99+
    2024-04-02
  • python单向链表怎么实现
    这篇文章主要介绍“python单向链表怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python单向链表怎么实现”文章能帮助大家解决问题。单向链表:是将所有的数据作为一个个节点,将所有的节点...
    99+
    2023-06-30
  • python中的单向链表怎么实现
    这篇文章主要介绍了python中的单向链表怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中的单向链表怎么实现文章都会有所收获,下面我们一起来看看吧。一、单向链表概念单向链表的链接方向是单向的...
    99+
    2023-06-29
  • 怎么用Python实现单向链表
    这篇文章主要介绍“怎么用Python实现单向链表”,在日常操作中,相信很多人在怎么用Python实现单向链表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python实现单向链表”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Python单向循环链表的创建方法
    小编给大家分享一下Python单向循环链表的创建方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1.简单易学...
    99+
    2023-06-14
  • java数据结构中单链表与双向链表的实现方法
    这篇文章主要介绍“java数据结构中单链表与双向链表的实现方法”,在日常操作中,相信很多人在java数据结构中单链表与双向链表的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java数据结构中单链表与...
    99+
    2023-06-20
  • python单向循环链表怎么实现
    单向循环链表将所有的链接在一起,每一个节点分为数据存储区和链接区,数据区存储数据,链接区链接下一个节点item: 存储数据的地方next: 链接下一个节点注意: 单向循环链表是首位链接,即尾部的节点要和头部的节点链接单向链表操作1、链表是否...
    99+
    2023-05-16
    Python
  • python单向循环链表如何实现
    本篇内容主要讲解“python单向循环链表如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python单向循环链表如何实现”吧!单向循环链表将所有的链接在一起,每一个节点分为数据存储区和链...
    99+
    2023-07-06
  • python单链表的实现
    ''' 当加入第一个node节点的时候,会有几个值,(这里的self.tail.next 其实就是node.next) head = item = tail = Node(object element1 memory) item = hea...
    99+
    2023-01-31
    链表 python
  • python单向链表实例详解
    使用python实现单向链表,供大家参考,具体内容如下 单向链表:是将所有的数据作为一个个节点,将所有的节点链接在一起。每一个节点中又分为: 存储数据区,链接区 存储数据区: 存储具...
    99+
    2024-04-02
  • python实现单链表
    #encoding:utf-8 import sys class Lnode():     def __init__(self,elem,next=None):         self.elem = elem    #节点的值   ...
    99+
    2023-01-31
    链表 python
  • Python实现双向链表
    之前写的单向链表和环形链表都只是单向的,只能单向遍历,不能根据后面的节点获取前面的节点,除非进行反转操作。 双向链表每个节点都有两个指针,这两个指针分别指向前后两个节点,这样就可以从...
    99+
    2024-04-02
  • python 实现线性链表(单链表)
    初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码。 #!/usr/bin/python # -*- coding:utf-8 -*- # Author: Hui # Date: 2017-10-13...
    99+
    2023-01-31
    链表 线性 python
  • Java数据结构之链表实现(单向、双向链表及链表反转)
    前言 之前学习的顺序表查询非常快,时间复杂度为O(1),但是增删改效率非常低,因为每一次增删改都会元素的移动。可以使用另一种存储方式-链式存储结构。 链表是一种物理存储单元上非连续、...
    99+
    2024-04-02
  • java模拟实现双向链表的方法
    这篇文章主要介绍“java模拟实现双向链表的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java模拟实现双向链表的方法”文章能帮助大家解决问题。双向链表也叫双链表,是链表的一种,它的每个数据结...
    99+
    2023-06-30
  • java实现单链表linked list的方法
    这篇“java实现单链表linked list的方法”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“java实现单链表linked list的方法”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作