OMQueue 類別

OMQueue 類別包含基本程式庫函數,以讓您建立與操作 OMQueuesOMQueue 是一種安全類型且動態調整大小的佇列。 它實作於循環的陣列上,並實作先進先出 (first-in-first-out) 演算法。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() 的實作。


回饋