zoukankan      html  css  js  c++  java
  • python之链表

    # class Node:
    #     def __init__(self,data):
    #         # 要存的数据
    #         self.data = data
    #         # 指向下一个节点的指针
    #         self.next = None
    #
    # class LinkedList:
    #     def __init__(self):
    #         # 链表长度
    #         self.size = 0
    #         # 链表的头部
    #         self.head = None
    #         # 链表的尾部
    #         self.last = None
    #     # index为取链表的第几节点
    #
    #     def get(self,index):
    #         if index<0 or index>self.size:
    #             raise Exception('超出链表节点范围')
    #         # 这里声明一个变量p为当前指针位置,如果链表不为空,
    #         # 则self.head 为第一个节点位置,它是一个实例化的Node,
    #         # 它的next属性也一定存过下个节点是谁,
    #         # 依次找下去,找到对应节点位置,返回的是对应index的节点,也是个实例化的Node
    #         p = self.head
    #         for i in range(index):
    #             p = p.next
    #         return p
    #
    #     def insert(self,data,index):
    #         #print(self.size,index)
    #         if index < 0 or index > self.size:
    #             raise Exception('超出链表节点范围')
    #         #声明一个节点
    #         node = Node(data)
    #         #长度为零则为空链表
    #         if self.size == 0:
    #             self.head = node
    #             self.last = node
    #         elif index==0:
    #             # 之前的头部为新节点的指向
    #             node.next = self.head
    #             # 新节点变为头部节点
    #             self.head = node
    #         elif self.size == index:
    #             # 最后一个节点指向新节点
    #             self.last.next = node
    #             # 新节点记录为最后一个节点
    #             self.last = node
    #         else:
    #             # 定位插入位置的上一个节点
    #             prev_node = self.get(index-1)
    #             # 插入的节点的指向改为上一个节点的指向
    #             node.next = prev_node.next
    #             # 上个节点的指向改为新插入的节点
    #             prev_node.next = node
    #         self.size+=1
    #
    #     def output(self):
    #         p = self.head
    #         while p is not None:
    #             print(p.data)
    #             p = p.next
    #
    # linkedList = LinkedList()
    #
    # # linkedList.insert(4,4)
    #
    #
    # linkedList.insert(6,0)  #在空链表中加入一个数
    # linkedList.insert(7,0)  #在链表前加入一个数
    #
    # linkedList.insert(9,2)#在链表尾加入一个数
    # linkedList.insert(5,3)#在链表尾加入一个数
    # linkedList.insert(6,2)#在链表中插入一个数
    # print(linkedList.get(3))
    # linkedList.output()
  • 相关阅读:
    docker容器的通讯——内部访问外部
    docker网络介绍之bridge网络详解
    一张图看懂docker容器的所有状态
    docker——cgroup限制的应用实例
    docker私有仓库搭建
    VC多线程临界区(转)
    delphi 多线程2
    delphi 多线程
    SQL ROW_NUMBER() OVER函数的基本用法用法
    sqlserver游标概念与实例全面解说
  • 原文地址:https://www.cnblogs.com/wbf980728/p/14074908.html
Copyright © 2011-2022 走看看