OMQueue 类

OMQueue 类中包含使您可以创建和操作 OMQueues 的基本库函数。 OMQueue 是一个类型安全、动态调整大小的队列。 它是在循环数组上实现的,并且实现 FIFO(先进先出)算法。OMQueue 使用 OMCollection 实施。

这个类是在头文件 omqueue.h 中定义的。

属性和收集
m_grow - 指定是否可以放大队列大小
m_head - 指定队列的头部
m_myQueue - 指定队列实施
m_tail - 指定队列的尾部
构造概要
OMQueue
构造 OMQueue 对象
~OMQueue
销毁 OMQueue 对象
方法概要
get
获取队列中的当前元素
getCount
获取队列中的元素数
getInverseQueue
返回将由 get() 在队列尾部返回的元素
getQueue
返回将由 get() 在队列头部返回的元素
getSize
返回为队列分配的内存大小
increaseHead_
增大队列头部的大小
increaseTail_
增大队列尾部的大小
isEmpty
确定队列是否为空
isFull
确定队列是否已满
put
将元素添加到队列
属性和收集

m_grow

此布尔值属性指定是否可以放大队列大小。其定义如下所示:
OMBoolean m_grow;

m_head

此属性指定队列的头部。其定义如下所示:
int m_head;

m_myQueue

此集合指定队列实施。OMQueue 作为循环数组实施。

其定义如下所示:
OMCollection<Concept> m_myQueue;

m_tail

此属性指定队列的尾部。其定义如下所示:
int m_tail;

示例

考虑一个类,Graph,它具有对图节点执行 BFS 搜索以发现具有指定数据的节点的 bfs() 操作。下图显示了 Graph 类的 OMD。

下图显示了 Graph 类的浏览器视图。

bfs() 实施使用 OMQueue 作为搜索容器,使用 OMMap 作为所访问元素的记录。

下图显示 Graph::bfs() 的实施。

下图显示 Graph::Node::addAggregates() 的实施。


反馈