大佬教程收集整理的这篇文章主要介绍了用golang写的一个链表,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_616_1@近期专门研究了一下golang语言,这个语言还比较新,语法上结合了很多优点,比如动态绑定,多返回值,支持函数对象,如果有C/C++,java,js或python语言基础的朋友应该能很快能迁移到这个新语言上来,goroutIne机制帮助我们能更好的写并发程序,总之,golang确实是很有前途的语言,但要具有像java这么丰富的生态链还有很长的路要走。
@H_616_1@废话不多说,直接上码
package datastruct //定义节点 type Node struct{ data int next *Node } /*************** * 返回第一个节点 * h 头结点 ***************/ func getFirst(h *NodE) *Node{ if h.next == nil{ return nil } return h.next } /*************** * 返回最后一个节点 */ func getLast(h *NodE) *Node{ if h.next == nil{ return nil } var i *Node = h for i.next != nil{ i = i.next if i.next == nil{ return i } } return nil } /*************** * 返回长度 ***************/ func length(h *NodE) int{ var i int = 0 n := h for n.next != nil{ i++ n = n.next } return i } /*************** * 插入节点 ***************/ func insert(h *Node,d *Node,i int) *Node{ var node *Node = h var j int = 1 for node.next != nil{ if i == j{ d.next = node.next node.next = d } node = node.next j++ } return h } /*************** * 删除节点 ***************/ func deleteNode(h *Node,i int) *Node{ var node *Node = h var j int = 1 for node.next != nil{ if i == j{ node.next = node.next.next break } node = node.next j++ } return h } /*************** * 获取节点 ***************/ func get(h *Node,i int) *Node{ var node *Node = h var j int = 1 for node.next != nil{ if i == j{ return node } node = node.next j++ } return nil }
以上是大佬教程为你收集整理的用golang写的一个链表全部内容,希望文章能够帮你解决用golang写的一个链表所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。