开发者学堂课程【Go 语言核心编程 - 数据结构和算法:数据结构和算法-数组模拟环形队列实现(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/627/detail/9834
数据结构和算法-数组模拟环形队列实现(二)
三、代码运行
将以上输入代码保存,进行代码运行,运行结果为:
D:\goproject\src\go_code\chapter20>cd circelqueue
D:\goproject\src\go_code\chapter20\circelqueue>go run main.go
1. 输入 add 表示添加数据队列
2. 输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
队列为空
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
1
加入队列ok
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[0]=1
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
2
加入队列ok
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[0]=1 arr[1]=2
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
3
加入队列ok
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
4
加入队列ok
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[0]=1 arr[1]=2 arr[2]=3 arr[3]=4
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
5
queue full
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[0]=1 arr[1]=2 arr[2]=3 arr[3]=4
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
get
从队列中取出一个数 = 1
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[1]=2 arr[2]=3 arr[3]=4
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
5
加入队列ok
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[1]=2 arr[2]=3 arr[3]=4 arr[4]=5
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
6
queue full
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
get
从队列中取出一个数 = 2
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
arr[2]=3 arr[3]=4 arr[4]=5
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
get
从队列中取出一个数 = 3
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
get
从队列中取出一个数 = 4
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
get
从队列中取出一个数 = 5
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
show
环形队列情况如下:
队列为空
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
get
queue empty
1.输入 add 表示添加数据队列
2.输入 get 表示从队列获取数据
3.输入 show 表示显示队列
4.输入 exit 表示显示队列
add
输入你要入队列数
10
panic: runtino error: index out of range
gorout ine 1 [running]:
main.<*CircleQueue>.Push<...>
D:/goproject/src/go_code/chapter20/circelqueue/main.go:24
main.main<>
D:/goproject/src/go_code/chapter20/circelqueue/main.go:97
exit status 2
代码结果显示在上文输入代码中的24行和97行有错误,所以将”this.tail++
”修改为”this.tail = (this.tail + 1) % this.maxSize
”;将”this.head++
”修改为”this.head = (this.head + 1) % this.maxSize
”。