zoukankan      html  css  js  c++  java
  • Python—构造单向链表数据类型

    # _*_ coding=utf-8 _*_
    
    
    class Node:
        """
        创建链表的属性
        """
    
        def __init__(self, item):
            self.item = item
            self.next = None
    
    
    def create_head_linklist(arr):
        """
        头插法创建链表
        :param arr:
        :return:
        """
        head = Node(arr[0])             # 确定头部元素
        for element in arr[1:]:
            node = Node(element)
            node.next = head            # 从头部插入元素
            head = node                 # 插入的元素成为头部元素
    
        return head
    
    
    def create_tail_linklist(arr):
        """
        尾插法创建链表
        :param arr:
        :return:
        """
        head = Node(arr[0])
        tail = head                     # 开始链表为空,头尾指向同一个位置
        for element in arr[1:]:
            node = Node(element)
            tail.next = node            # 从尾部插入元素
            tail = node                 # 插入的元素成为尾部元素
        return head
    
    
    def print_linklist(lk):
        while lk:
            print(lk.item, end=',')
            lk = lk.next
    
    
    li = [1, 2, 3, 4, 5]
    link_list1 = create_tail_linklist(li)
    link_list2 = create_head_linklist(li)
    print_linklist(link_list1)
    print_linklist(link_list2)

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

  • 相关阅读:
    翻转数组
    股神
    刮刮卡兑换
    军训队列
    击鼓传花
    上台阶
    @Service空指针异常 -JUNIT测试
    insert 配置信息
    url地址重叠
    shop = mapper.readValue(shopStr, Shop.class); shop=null的问题
  • 原文地址:https://www.cnblogs.com/zivli/p/11258962.html
Copyright © 2011-2022 走看看