python 實現鍊錶的逆置

2022-08-14 06:15:14 字數 1343 閱讀 9462

class

node():

def__init__

(self,value,next):

self.value =value

self.next =next

class

link():

def__init__

(self,head):

self.link_create(head)

deflink_create(self,head):

self.head =node(head,none)

self.tail =self.head

deflink_insert(self,value):

temp_node =node(value,none)

self.tail.next =temp_node

self.tail =temp_node #

通俗的中心思想:斷開後繼指標,當前節點指向前驅節點

deflink_reverse(self):

temp_pre = self.head #

前驅指標

temp = self.head.next #

當前指標

temp_next = temp.next #

後繼指標

temp_pre.next =none

while temp_next !=none:

#逆指向

temp.next =temp_pre

#三個指標分別向後挪一位

temp_pre =temp

temp =temp_next

temp_next =temp.next

#別忘了連上最後乙個節點,將頭指標指向最後乙個節點

temp.next =temp_pre

self.head =temp

deflink_print(self):

temp_node =self.head

while temp_node !=none:

print

temp_node.value

temp_node =temp_node.next

head = link("1"

)for i in range(2,8):

head.link_insert(i)

head.link_print()

head.link_reverse()

head.link_print()

效果圖:

鍊錶的逆置

5.鍊錶的逆置 已知head指向乙個帶頭節點的單向鍊錶,鍊錶中每個結點包含資料域和指標域。用鍊錶實現該鍊錶的逆置,並輸出。例如 輸入 5 整數表示要輸入的字元個數 abcde 輸出 edcba 注意 不允許通過改變每個節點的資料域來實現效果,必須改變鍊錶連線順序發生逆置。我寫的 如下 include...

鍊錶的逆置

剛剛除錯出來,趁熱寫一下。輸入多個整數,以 1作為結束標誌,順序建立乙個帶頭結點的單鏈表,之後對該單鏈表的資料進行逆置,並輸出逆置後的單鏈表資料。input 輸入多個整數,以 1作為結束標誌。output 輸出逆置後的單鏈表資料。sample input 12 56 4 6 55 15 33 62 ...

鍊錶的逆置

oblem description 輸入多個整數,以 1作為結束標誌,順序建立乙個帶頭結點的單鏈表,之後對該單鏈表的資料進行逆置,並輸出逆置後的單鏈表資料。input 輸入多個整數,以 1作為結束標誌。output 輸出逆置後的單鏈表資料。input 12 56 4 6 55 15 33 62 1 ...