• 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
        }
    }
    
    func main() {
    
        var link Link
        for i := 0; i < 10; i++ {
    
            //link.InsertHead(i)
            link.InsertTail(fmt.Sprintf("str %d",i))
        }
        link.Trans()
    }
    
  • 相关阅读:
    多进程2
    并发编程
    粘包
    socket
    网络编程
    异常与网络编程
    面向对象高级
    多态
    面向对象2
    SQL数据库约束行为---防止数据乱填(即数据规范化)
  • 原文地址:https://www.cnblogs.com/nyist-xsk/p/11352298.html
Copyright © 2020-2023  润新知