python鍊錶2

2022-06-04 05:03:07 字數 1641 閱讀 4775

class

node:

def__init__(self, value=none, next=none):

self.value =value

self.next =next

class

linkedlist(object):

def__init__

(self):

#初始化鍊錶時, 建立乙個head節點,該節點的value和next都為none

#head的value值是啥無所謂

#注意, 不要把鍊錶的head節點和head節點指向的下乙個節點看著是乙個節點

#head.next 才是鍊錶的第乙個節點

#head是鍊錶的乙個屬性

#遍歷鍊錶時都是從 head.next 開始的

node =node()

self.head =node

#頭插法, 在鍊錶的頭部插入乙個新的節點

defadd_first(self, value):

node =node(value)

node.next = self.head.next #

把第乙個節點self.head.next,作為新節點的next

self.head.next = node #

第乙個節點為新節點, head指向新節點

#在尾部新增乙個元素

defadd_last(self, value):

node =node(value)

#空鍊錶

if self.head.next is

none:

self.head.next =node

#非空鍊錶

else

:

#從第乙個節點開始遍歷, 直到最後乙個節點

current =self.head.next

while current.next: #

注意這裡是current.next,因為後面使用了current.next

current =current.next

current.next =node

defremove_first(self):

self.head.next =self.head.next.next

def__str__

(self):

current =self.head.next

while

current:

print(current.value, end='\t'

) current =current.next

return

''def

merge_sort_linked_list(l1, l2):

dummy = cur =node()

while l1 and

l2:

if l1.value cur.next =l1

l1 =l1.next

else

: cur.next =l2

l2 =l2.next

cur =cur.next

cur.next= l1 or

l2

return dummy.next

python鍊錶

class node def init self,data 要存的資料 self.data data 指向下乙個節點的指標 self.next none class linkedlist def init self 鍊錶長度 self.size 0 鍊錶的頭部 self.head none 鍊錶的尾...

鍊錶(python)

class node def init self,value none next none self.value value self.next next class linkedlist def init self self.head node self.tail none self.length...

python 鍊錶

在c c 中,通常採用 指標 結構體 來實現鍊錶 而在python中,則可以採用 引用 類 來實現鍊錶。節點類 class node def init self,data self.data data self.next none 鍊錶類 class linkedlist def init self...