分享
  1. 首页
  2. 文章

数据结构-队列链式存储结构的实现(golang)

卑微了承诺-life · · 2323 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

//队列的链式存储结构的实现
//队列链式存储结构体
typeLSQueuestruct{
    front*LSQNode//头指针
    rear*LSQNode//尾指针
    countint//队列的线性长度
}

//队列链式存储结构节点
typeLSQNodestruct{
    elemElemType//储存的数据
    next*LSQNode//指向下一个节点的指针
    lsQueue*LSQueue//所属队列
}

//初始化队列
funcInitLSQueue()*LSQueue{
    lsQueue:=new(LSQueue)
    node:=new(LSQNode)
    node.elem=nil
    node.next=nil
    node.lsQueue=lsQueue
    lsQueue.front=node
    lsQueue.rear=node
    lsQueue.count=0
    returnlsQueue
}

//插入元素
func(lsQueue*LSQueue)InsertLSQueueElem(elemElemType)*LSQNode{
    node:=new(LSQNode)
    node.elem=elem
    node.next=nil
    node.lsQueue=lsQueue
    lsQueue.rear.next=node
    lsQueue.rear=node
    lsQueue.count++
    returnnode
}

//删除元素
func(lsQueue*LSQueue)DeleteLSQueueElem()*LSQNode{
    iflsQueue.EmptyQueue(){
        returnnil
    }
    node:=lsQueue.front.next
    lsQueue.front.next=node.next
    lsQueue.count--

    ifnode==lsQueue.rear{
        lsQueue.front=lsQueue.rear
    }
    returnnode
}

//判断队列是否为空
func(lsQueue*LSQueue)EmptyQueue()bool{
    iflsQueue.front==lsQueue.rear{
        returntrue
    }
    returnfalse
}

//清空队列
func(lsQueue*LSQueue)ClearLSQueue(){
    iflsQueue.EmptyQueue(){
        return
    }
    lsQueue.front=lsQueue.rear
    lsQueue.count=0
}

//获取队列线性长度
func(lsQueue*LSQueue)LSQueueLength()int{
    iflsQueue.EmptyQueue(){
        return0
    }
    returnlsQueue.count
}

import(
    "testing"
)

varlsQueue*LSQueue

funcinit(){
    lsQueue=InitLSQueue()
}

funcTestInsertLSQueueElem(t*testing.T){
    _=lsQueue.InsertLSQueueElem("ONE")
    
}

funcTestDeleteLSQueueElem(t*testing.T){
    _=lsQueue.DeleteLSQueueElem()
}


有疑问加站长微信联系(非本文作者)

本文来自:新浪博客

感谢作者:卑微了承诺-life

查看原文:数据结构-队列链式存储结构的实现(golang)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
2323 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏