专栏首页PythonistaGolang之实现(链表)

Golang之实现(链表)

链表算法

package main

import "fmt"

type LinkNode struct {
    data interface{}
    next *LinkNode
}
type Link struct {
    head *LinkNode
    tail *LinkNode
}

func (p *Link) InsertHead(data interface{}) {
    node := &LinkNode{
        data: data,
        next: nil,
    }
    if p.tail == nil && p.head == nil {
        p.tail = node
        p.head = node
        return
    }
}

func (p *Link) InsertTail(data interface{}) {
    node := &LinkNode{
        data: data,
        next: nil,
    }
    if p.tail == nil && p.head == nil {
        p.tail = node
        p.head = node
        return
    }
    p.tail.next = node
    p.tail = node
}
func (p *Link)Trans(){
    q:=p.head
    for q!=nil{
        fmt.Println(q.data)
        q=q.next
    }
}
package main

import "fmt"

func main() {

    var link Link
    for i := 0; i < 10; i++ {

        //link.InsertHead(i)
        link.InsertTail(fmt.Sprintf("str %d",i))
    }
    link.Trans()
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • centos7 install python3.7 with problem and how to fix it.

    <!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; ...

    超蛋lhy
  • 第一篇:初始Golang

    编程语言已经非常多,偏性能敏感的编译型语言有 C、C++、Java、C#、Delphi和Objective-C 等,偏快速业务开发的动态解析型语言有PHP、Py...

    超蛋lhy
  • 记录腾讯云中矿机病毒处理过程(重装系统了fu*k)

    刚想学学kafka,登录与服务器看看把,谁知ssh特别慢,很奇怪,我以为是我网速问题,断了wifi,换了网线,通过iterm想要ssh root@x.x.x....

    超蛋lhy
  • Active Learning: 一个降低深度学习时间,空间,经济成本的解决方案

    ? 下面要介绍的工作发表于CVPR2017(http://cvpr2017.thecvf.com/),题为“Fine-tuning Convolution...

    用户1332428
  • 干货 | Active Learning: 一个降低深度学习时间,空间,经济成本的解决方案

    大数据文摘
  • 进阶的决策树,从ID3升级到C4.5,模型大升级

    上一篇文章当中介绍了一种最简单构造决策树的方法——ID3算法,也就是每次选择一个特征进行拆分数据。这个特征有多少个取值那么就划分出多少个分叉,整个建树的过程非常...

    TechFlow-承志
  • 知其所以然之永不遗忘的算法

    image.png 相信大部分同学曾经都学习过快速排序、Huffman、KMP、Dijkstra等经典算法,初次学习时我们惊叹于算法的巧妙,同时被设计者的智慧所...

    BestSDK
  • 【Rust每周一库】tempfile - 基础实用的临时文件库

    Rust作为一个效率极高且内存相对安全的系统级语言,不但会吸引大量的C/C++开发者;同时因为相对现代的语言设计、完善的包管理,也引起了不少高级语言、比如Jav...

    MikeLoveRust
  • 可伸缩光学电路:机器人表皮的新选择

    比利时根特大学(Ghent University)的研究人员们声称采用可弯曲也能伸缩的互连开发出首款光学电路,可望作为发展可穿戴式人体传感器与机器人表皮的理想应...

    机器人网
  • python 装饰器理解

    在理解装饰器之前,先应该对闭包有个概念:所谓闭包,就是将组成函数的语句和这些语句的执行环境打包在一起时得到的对象,它的主要作用是封存上下文。这一特性可以巧妙的被...

    py3study

扫码关注云+社区

领取腾讯云代金券