.版本 2
.程序集 类_环形队列, , , 先进先出。重复利用现有内存空间,不进行数据的实际删除移动,效率相对较高
.程序集变量 m_队列数据, 队列数据类型, , "100"
.程序集变量 m_qMax, 整数型
.程序集变量 m_qHeader, 整数型
.程序集变量 m_qFooter, 整数型
.程序集变量 m_qCount, 整数型
.程序集变量 线程许可证, 线程_许可证
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
m_qMax = 100
m_qCount = 0
m_qHeader = 1
m_qFooter = 1
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
重定义数组 (m_队列数据, 假, 0)
.子程序 置队列空间, , 公开, 默认是 100,可以通过此函数调整
.参数 最大空间, 整数型
m_qMax = 最大空间
重定义数组 (m_队列数据, 假, m_qMax)
.子程序 压入数据, 整数型, 公开, 成功:返回队列成员数量,失败:返回 -1
.参数 队列数据, 队列数据类型
线程许可证.进入 ()
.如果真 (m_qCount ≥ m_qMax)
线程许可证.退出 ()
返回 (-1)
.如果真结束
m_队列数据 [m_qFooter] = 队列数据
m_qFooter = m_qFooter % m_qMax + 1
m_qCount = m_qCount + 1
线程许可证.退出 ()
返回 (m_qCount)
.子程序 弹出数据, 整数型, 公开, 成功:返回队列剩余成员数量,失败:返回 -1
.参数 队列数据, 队列数据类型, 参考
线程许可证.进入 ()
.如果真 (m_qCount = 0)
线程许可证.退出 ()
返回 (-1)
.如果真结束
队列数据 = m_队列数据 [m_qHeader]
m_qHeader = m_qHeader % m_qMax + 1
m_qCount = m_qCount - 1
线程许可证.退出 ()
返回 (m_qCount)
.子程序 取队列数, 整数型, 公开
返回 (m_qCount)
.子程序 清空队列, , 公开
线程许可证.进入 ()
m_qCount = 0
m_qHeader = 1
m_qFooter = 1
线程许可证.退出 ()