Python 構造單向鍊錶資料型別

2022-08-23 12:09:07 字數 1288 閱讀 7376

#

_*_ coding=utf-8 _*_

class

node:

"""建立鍊錶的屬性

"""def

__init__

(self, item):

self.item =item

self.next =none

defcreate_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

defcreate_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

defprint_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。通過節點之間的相互連線,最終串聯成乙個鍊錶。

openjudge SDAU 鍊錶 構造單向鍊錶

總時間限制 10000ms 記憶體限制 65535kb 描述 構造有序 公升序 的單鏈表 並實現單鏈表的逆置 可以採用結構化的程式設計方法實現,即不必定義類 輸入輸入鍊錶中的資料。用0表示輸入的結束,0不能新增到鍊錶中 輸出按順序輸出有序鍊錶中的資料 樣例輸入 4 1 6 8 2 0 樣例輸出 1 ...

單向鍊錶 python

class node object def init self self.data data self.nex none 初始化鍊錶 def init self self.head none 從頭結點依次遍歷,直到最後乙個節點 node.nex none 結束。def len self pre se...

單向鍊錶(Python)

以下為結點的定義 class node def init self,value,next none self.value value self.next next length 0 鍊錶的長度,規定只有乙個頭結點時長度為0判斷鍊錶是否為空 def isempty return length 0將結點...