完成對單向環形鍊錶的新增節點,刪除節點和顯示。
**如下:
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...