int main() { for (int i = 0; i < 10; i++) { q.Enqueue(i); } for (int i = 0; i < 10; i++) { cout << "Queue item: " << q.Peek() << endl; //Get the item to print q.Dequeue(); // Removing the item from the queue } getchar(); return 0; }
std::string bt<T>::BFTraverse() const { if (_tree == nullptr) return ""; std::stringstream ss; Queue<Node> queue; queue.Push(*_tree); while (queue.Peek() != nullptr) { auto front = queue.Pop()->m_data; ss << front.data << "|"; if (front.left != nullptr) queue.Push(*front.left); if (front.right != nullptr) queue.Push(*front.right); } return std::move(ss.str()); }