GOLANG 实现Stack和Queue
来源:互联网 发布:百度搜索关键词优化 编辑:程序博客网 时间:2024/05/18 03:51
最近在学习go语言,go是google公司开发的一种服务器端语言,原生提供的go程具有强大的并发能力,语言简洁、干净,没有太多语法糖,但其表达能力一点都不比其他语言弱。
go语言中有指针的概念,可以非常方便的实现Stack和Queue,我的实现里没有使用go库中的list,下面就是实现代码:
Queue实现
type Node struct { data interface{} next *Node}type Queue struct { head *Node end *Node}func NewQueue() *Queue { q := &Queue{nil, nil} return q}func (q *Queue) push(data interface{}) { n := &Node{data: data, next: nil} if q.end == nil { q.head = n q.end = n } else { q.end.next = n q.end = n } return}func (q *Queue) pop() (interface{}, bool) { if q.head == nil { return nil, false } data := q.head.data q.head = q.head.next if q.head == nil { q.end = nil } return data, true}
Stack实现
type Stack struct { head *Node}func NewStack() *Stack { s := &Stack{nil, 0} return s}func (s *Stack) Push(data interface{}) { n := &Node{data: data, next: s.head} s.head = n}func (s *Stack) Pop() (interface{}, bool) { n := s.head if s.head == nil { return nil, false } s.head = s.head.next return n.data, true}
阅读全文
0 0
- GOLANG 实现Stack和Queue
- python实现stack 和 queue
- python实现Stack和Queue
- 模拟实现 stack和queue
- 模板模拟实现stack和queue
- python实现stack(栈)和队列(queue)
- 【数据结构】Stack和Queue的模拟实现
- Java实现栈Stack和队列Queue
- C# Queue 和Stack的实现
- Queue和Stack
- stack和queue详解
- stack和queue
- c++ stack和queue
- Queue和Stack
- queue和stack容器
- Queue、Deque和Stack
- 【C++】利用list和vector实现stack和queue!!!
- stack实现queue ; list实现stack
- C#入门基础之计算器
- 工作第三到五年
- POJ 3311
- 使用JDBC从mysql数据库中导出数据到Oracle数据库
- C#处理表格的问题
- GOLANG 实现Stack和Queue
- Kotlin-解构声明
- 模态视图和视图控制器的生命周期
- 个人网站买主机和域名,网站备案
- 安卓自定义圆环进度
- 你可能不知道,你登曾是个气喘小胖子,靠努力逆袭完成梦想
- 云服务器一二
- 安卓中的几种进程
- Caused by: com.ibm.websphere.ce.cm.ConnectionWaitTimeoutException: CWTE_NORMAL_J2CA1009