go實現處理鍊錶的演算法

2022-07-01 07:48:12 字數 624 閱讀 8314

鍊錶的演算法分為幾種型別

1,刪除鍊錶的倒數第n個節點

2,合併兩個有序鍊錶

3,判斷鍊錶是否是環形鍊錶

4,兩個鍊錶的位數相加

package main

import "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的對應結...