Golang1.8使用slice实现先进进出功能
来源:互联网 发布:windows窗口程序 编辑:程序博客网 时间:2024/05/16 15:39
package cacheimport ( "fmt")type lists struct { count int pop int last int index int list []int}func (l *lists) Add(i int) { l.list[l.last] = i l.last += 1 if l.last >= l.count { l.last = l.index if l.index >= l.count { l.index = 0 } }}func (l *lists) Pop() int { if l.pop < l.index { l.pop = l.index return l.list[l.pop] } i := l.list[l.pop] l.pop += 1 if l.pop >= 10 { l.pop = 0 } return i}func cmain() { count := 10 l := lists{count: count, list: make([]int, count)} for i := 1; i < 11; i++ { l.Add(i) } fmt.Printf("%+v\n", l) for i := 0; i < 5; i++ { fmt.Println(l.Pop()) } for i := 11; i < 21; i++ { l.Add(i) } fmt.Printf("%+v\n", l) for i := 0; i < 5; i++ { fmt.Println(l.Pop()) } for i := 21; i < 31; i++ { l.Add(i) } fmt.Printf("%+v\n", l) for i := 0; i < 10; i++ { fmt.Println(l.Pop()) }}
1 0
- Golang1.8使用slice实现先进进出功能
- Golang1.7使用ICMP协议实现ping功能,带TIME和TTL
- golang1.8使用cgo获取进程是否假死
- Golang1.8编译静态库给C使用
- 使用Delphi+MSSQL实现多物料进出仓
- Golang1.7.4标准库sql使用
- Dialog的进出动画实现
- 使用先进Kohonen网络实现快速学习型机器视觉
- 材料进出使用余额日报表
- 使用Array.prototype.slice实现带参数的setTimeout
- Golang1.7.3实现启动单一实例代码片段
- Golang1.7 Http和Tcp使用同一个端口做服务
- PHP使用数组实现队列(实际就是先进先出如何实现)
- 先进排序方式的实现
- Golang1.8新特性展望及2016发展回顾
- Golang1.8获取Windows硬件信息小实例.
- keras slice layer 层 实现
- 用slice实现分页效果
- 大笨钟
- Report_oracle_inspection.sql
- Dubbo服务调用动态选择版本
- matlab 图像分块及恢复
- leetcode463 Island Perimeter JAVA
- Golang1.8使用slice实现先进进出功能
- sql报错
- _MSC_VER详细介绍
- 冒泡排序
- groovy-testng-maven-sonar-codecoverage
- 基于Blod的ajax进度条下载实现
- vs visual studio 2015中如何在当前的项目管理器中打开文件?如何打开指定的方法名称,如何显示到指定的方法的那个位置
- Report_oracle_inspection.sh
- eclipse启动tomcat无法访问