数据结构-链表

 链表概念

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

  每个节点包含两部分,数据域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)

  链表的插入

  链表删除

 

双链表

  双链表插入

 

  双链表删除

 

posted @ 2019-01-28 09:50  财经知识狂魔  阅读(162)  评论(0编辑  收藏  举报