OMQueue 類別包含基本程式庫函數,以讓您建立與操作 OMQueues。
OMQueue 是一種安全類型且動態調整大小的佇列。
它實作於循環的陣列上,並實作先進先出 (first-in-first-out) 演算法。OMQueue 會搭配 OMCollection 實作。
此類別定義於標頭檔 omqueue.h 中。
屬性與集合
- m_grow - 指定是否可放大佇列大小
- m_head - 指定佇列的開頭
- m_myQueue - 指定佇列實作
- m_tail - 指定佇列的尾端
屬性與集合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() 的實作。