-
연결 리스트 큐 삽입 메서드 구현
LinkedListQueue.cpp
/// <summary> /// LinkedListQueue의 끝 부분에 값을 추가한다. /// </summary> /// <param name="value">추가할 값</param> void LinkedListQueue::Enqueue(int value) { m_items.Add(value); }
연결 리스트 큐 인출 메서드 구현
LinkedListQueue.cpp
/// <summary> /// LinkedListQueue의 시작 부분을 제거하지 않고 반환한다. /// </summary> /// <returns>시작 부분에 있는 값</returns> int LinkedListQueue::Peek() { if (m_items.Count() <= 0) { throw std::out_of_range("empty"); } return m_items.Item(0); } /// <summary> /// LinkedListQueue의 시작 부분의 값을 제거한 뒤 반환한다. /// </summary> /// <returns>시작 부분에 있던 값</returns> int LinkedListQueue::Dequeue() { if (m_items.Count() <= 0) { throw std::out_of_range("empty"); } int data{ m_items.Item(0) }; m_items.RemoveAt(0); return data; } /// <summary> /// LinkedListQueue의 모든 값을 제거한다. /// </summary> void LinkedListQueue::Clear() { m_items.Clear(); }
연결 리스트 큐 기능 메서드 구현
LinkedListQueue.cpp
/// <summary> /// LinkedListQueue에 지정한 값이 존재하는지 확인한다. /// </summary> /// <param name="value">LinkedListQueue에서 찾을 값</param> /// <returns>값의 존재 여부</returns> bool LinkedListQueue::Contains(int value) { return m_items.Contains(value); }