zoukankan      html  css  js  c++  java
  • python单链表的基本操作思路

    单链表:

    1、定义链表

    class ListNode:  # 定义节点
        def __init__(self, x):
            self.val = x  # 节点当前值
            self.next = None  # 指向的下一节点,None表示没有下一节点

    2、插入数据

    # 单链表的插入(在第 s 个结点后面插入 data)
    def InsertList(self,s,data):
       if self.IsEmpty() or s < 0 or s > self.LengthList():
           print("Insert failed!")
           return
       p = self.head
       index = 1
       while index < s:  # 循环逐个遍历到所需插入的位置
           p = p.next  # 更新指针节点,p.next表示下一节点
           index += 1  # 最后在p为s节点处退出循环,退出时p是s节点
     
       node = Node(data)  # 新建节点
       node.next = p.next  # 设置下一节点,为:原s节点的下一节点
       p.next = node  # s节点现在的下一节点,为:新节点

    3、删除数据

    # 单链表的删除(删除第 s 个结点)
    def DeleteList(self, s):
       if self.IsEmpty() or s < 0 or s > self.LengthList():
           print("Delete failed! ")
           return
       p = self.head
       index = 1
       while index < s:
           pre = p  # 备份上一节点
           index += 1
           p = p.next  # 当前所需删除的节点s
       pre.next = p.next  # 将上一节点,指向s的下一节点
       p = None  # 将s节点设置为空,或者删除
  • 相关阅读:
    linux 环境变量恢复默认值
    怎么查看Eclipse的版本信息
    掌握HDFS的Java API接口访问
    【代理】代理概念
    【DbUtils】轻量级的ORM学习
    【mysql】相关记录
    JWT(JSON Web Tokens)
    将jar包安装到本地仓库
    Spring集成rabbitmq
    spring-rabbit包的引入需要注意的事项
  • 原文地址:https://www.cnblogs.com/jaysonteng/p/12362692.html
Copyright © 2011-2022 走看看