鍊錶的演算法分為幾種型別
1,刪除鍊錶的倒數第n個節點
2,合併兩個有序鍊錶
3,判斷鍊錶是否是環形鍊錶
4,兩個鍊錶的位數相加
package mainimport "fmt"
type listnode struct
//刪除鍊錶倒數第n個節點
func deletelistnode(head *listnode,n int) *listnode
result.next = head
var pre *listnode
cur := result
i :=1
for head != nil
head = head.next
i++} pre.next = pre.next.next
return result.next
}//合併兩個有序鍊錶
func sumtwolistnode(l1 *listnode,l2 *listnode) *listnode
result := prehead
for l1 !=nil && l2 != nil
return node
}
go語言實現鍊錶
宣告結構體 宣告全域性變數,儲存頭結點 var head node var curr node 宣告節點型別 type node struct 建立頭結點 func createheadnode data string node 新增新節點 func addnode data string node...
Go語言 實現鍊錶
鍊錶是乙個結點指向下乙個結點的儲存結構,每乙個結點有兩個元素,乙個是存放資料本身,另乙個資料指向下乙個結點,由這些結點組成乙個鍊錶 package main import fmt type node struct type nodelist struct func this nodelist add...
雙向鍊錶的GO語言實現
一 什麼是雙向鍊錶 和單鏈表比較,雙向鍊錶的元素不但知道自己的下線,還知道自己的上線 越來越像傳銷組織了 小煤車開起來,圖裡面可以看出,每個車廂除了乙個指向後面車廂的箭頭外,還有乙個指向前面車廂的箭頭 車頭 車尾除外 車頭只有指向後面車廂的箭頭,車尾只有指向前面車廂的箭頭。二 雙向鍊錶與go的對應結...