【编程】为什么不能直接对链表头head进行操作?
生活随笔
收集整理的這篇文章主要介紹了
【编程】为什么不能直接对链表头head进行操作?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
比如我們有一個鏈表如下:
此時 head 就是 1 這個位置,但是鏈表是連著的,輸出 head 你會得到一整串以 1 為起點的鏈子,也就是[1, 2, 3],head.next 會輸出 [2, 3]
假設現在我們有一個未知長度的鏈表,想要計算其長度怎么辦呢?
可以令 head = head.next 直到 head is None,期間進行計數就好啦
此時,輸出的 n 就是鏈表的長度,但是 head 變成了 [] ,也就是說我們無法在輸出整個鏈表的信息了。
所以,在對鏈表進行操作時,一般會 tmp = head ,對 tmp 一番操作之后,并不影響 head 的位置,整個鏈表也沒有變化(如果你不改變的話),代碼如下:
n = 0 tmp = head while tmp:n += 1tmp = tmp.next最后,想不明白的話強烈建議畫個圖,會好理解很多。另外,head 只是一個位置,位置。
猜你喜歡:👇🏻
?【編程】位運算(異或)
?【編程】二叉搜索樹的定義
?【編程】位(bit)、字節(byte)和字(word)的區別
總結
以上是生活随笔為你收集整理的【编程】为什么不能直接对链表头head进行操作?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pascal和python的区别_Pyt
- 下一篇: 分区创建 linux_在 Intel N