zoukankan      html  css  js  c++  java
  • 数据结构-链表

     链表概念

      链表是由一系列节点组成的元素集合

      每个节点包含两部分,数据域item和指向下一个节点的指针next

      手动创建链表

    class Node:
        def __init__(self, item):
            self.item = item
            self.next = None
    
    a = Node(1)
    b = Node(2)
    c = Node(3)
    a.next = b
    b.next = c
    print(a.next.next.item)
    

    链表操作

      创建链表有头插法和尾插法

    class Node:
        def __init__(self, item):
            self.item = item
            self.next = None
    
    #头插法 会导致倒序
    # def create_linklist(li):
    #     head = Node(li[0])
    #     for element in li[1:]:
    #         node = Node(element)
    #         node.next = head
    #         head = node
    #     return head
    
    #尾插法
    def create_linklist(li):
        head = Node(li[0])
        tail = head
        for element in li[1:]:
            node = Node(element)
            tail.next = node
            tail = node
        return head
    
    lk = create_linklist([1,2,3])
    # print(lk.next.item)
    
    #链表的遍历
    def print_lk(lk):
        while lk:
            print(lk.item, end=',')
            lk = lk.next
    print_lk(lk)

      链表的插入

      链表删除

    双链表

      双链表插入

      双链表删除

  • 相关阅读:
    R语言常用操作
    Java小知识点
    客户端(android,ios)与服务器通信
    图片保存数据库
    Centos 添加SWAP(交换分区)
    mysql基本知识
    php 工作模式
    apache 工作模式
    lnmp 虚拟主机配置及重写
    mysql alter的常用用法
  • 原文地址:https://www.cnblogs.com/xinsiwei18/p/10327237.html
Copyright © 2011-2022 走看看