OMQueue 클래스

OMQueue 클래스에는 OMQueues를 작성 및 조작할 수 있는 기본 라이브러리 함수가 포함되어 있습니다. OMQueue는 형식이 안전하고 크기가 동적으로 조정되는 큐입니다. 이 클래스는 순환 배열에서 구현되고 선입선출(FIFO) 알고리즘을 구현합니다. OMQueueOMCollection으로 구현됩니다.

이 클래스는 헤더 파일인 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;

예제

지정한 데이터가 있는 노드를 찾도록 그래프 노드에서 BFS 검색을 수행하는 bfs() 오퍼레이션이 있는 Graph 클래스를 살펴보십시오. 다음 그림은 Graph 클래스의 OMD를 보여줍니다.

다음 그림은 Graph 클래스의 브라우저 보기를 보여줍니다.

bfs() 구현에서는 OMQueue를 검색 컨테이너로 사용하고 OMMap을 방문한 요소의 레코드로 사용합니다.

다음 그림은 Graph::bfs()의 구현을 보여줍니다.

다음 그림은 Graph::Node::addAggregates()의 구현을 보여줍니다.


피드백