Go語言 資料結構 環形單向鍊錶的實現

2021-09-25 04:36:45 字數 1660 閱讀 7805

完成對單向環形鍊錶的新增節點,刪除節點和顯示。

**如下:

package main

import

("fmt"

)//定義貓的結構體結點

type catnode struct

func

insertcatnode

(head *catnode, newcatnode *catnode)

temp := head//定義乙個臨時變數,幫忙,找到環形的最後結點

for temp = temp.next

}//加入到鍊錶中

temp.next = newcatnode

newcatnode.next = head

}//輸出這個環形的鍊錶

func

listcirclelink

(head *catnode)

for temp = temp.next }}

//刪除乙隻貓

func

delcatnode

(head *catnode, id int

)*catnode

//如果只有乙個結點

if temp.next == head

return head

}//將helper 定位到鍊錶最後

for helper = helper.next

}//如果有兩個包含兩個以上結點

flag :=

true

forif temp.no ==id

//恭喜找到., 我們也可以在直接刪除

helper.next = temp.next

fmt.

printf

("貓貓=%d\n"

, id)

flag =

false

break

} temp = temp.next //移動 【比較】

helper = helper.next //移動 【一旦找到要刪除的結點 helper】

}//這裡還有比較一次

if flag

else

}return head

}func

main()

//建立乙隻貓

cat1 :=

&catnode

cat2 :=

&catnode

cat3 :=

&catnode

insertcatnode

(head, cat1)

insertcatnode

(head, cat2)

insertcatnode

(head, cat3)

listcirclelink

(head)

head =

delcatnode

(head,30)

fmt.

println()

fmt.

println()

fmt.

println()

listcirclelink

(head)

}

執行結果如下圖:

資料結構 05 單向環形鍊錶 約瑟夫問題

約瑟夫 環形鍊錶解決 小孩丟手絹 author anqi date 2020 4 15 09 54 59 description public class josepfu 建立環形單向鍊錶 class circlesinglelinkedlist 建立乙個輔助指標 幫助完成小孩出圈 boy help...

資料結構(C語言) 單向鍊錶

c語言的單向鍊錶,就是在乙個將一些資料放在乙個結構體裡,然後在結構體裡加 struct next 的成員,用於指向下一結點。引用時,建立乙個臨時的結構體變數進行引用。如原結構體變數為 struct p 則 可建立 struct temp,然後 for temp p temp next null te...

資料結構 單向鍊錶 C語言

chainlist.h include include typedef struct nodechainlisttype chainlisttype chainlistaddend chainlisttype head,data data 新增節點到鍊錶末尾 chainlisttype chainl...