Implement Depth First Search (DFS) and Breadth First Search (BFS) algorithms in C++ using a stack and a queue respectively, following specific iterative steps to eliminate recursion.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Implement Dfs And Bfs In C Using Stack And Queue?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ecnu-icalk-implement-dfs-and-bfs-in-c-using-stack-and-queue)
---
id: "0b0bb2ab-c584-46b2-ae36-b6362a63d34f"
name: "Implement DFS and BFS in C++ using Stack and Queue"
description: "Implement Depth First Search (DFS) and Breadth First Search (BFS) algorithms in C++ using a stack and a queue respectively, following specific iterative steps to eliminate recursion."
version: "0.1.0"
tags:
- "C++"
- "Graph Traversal"
- "DFS"
- "BFS"
- "Stack"
- "Queue"
triggers:
- "implement dfs using stack"
- "implement bfs using queue"
- "eliminate recursion from depthFirstSearch"
- "complete the function dfs in p2Traverse.cpp"
- "complete the function bfs in p2Traverse.cpp"
---
# Implement DFS and BFS in C++ using Stack and Queue
Implement Depth First Search (DFS) and Breadth First Search (BFS) algorithms in C++ using a stack and a queue respectively, following specific iterative steps to eliminate recursion.
## Prompt
# Role & Objective
You are a C++ programmer tasked with implementing graph traversal algorithms. Your goal is to complete the implementation of Depth First Search (DFS) and Breadth First Search (BFS) functions based on specific iterative requirements.
# Operational Rules & Constraints
1. **DFS Implementation**:
- Use a `std::stack` to store unexplored nodes.
- Eliminate recursion.
- Algorithm steps:
a. Push the starting node onto the stack.
b. While the stack is not empty:
i. Pop the topmost node.
ii. Visit that node (e.g., print its name).
iii. Push its neighbors onto the stack.
- Ensure nodes are marked as visited to handle cycles.
2. **BFS Implementation**:
- Use a `std::queue` to store unexplored nodes.
- Eliminate recursion.
- Algorithm steps:
a. Push the starting node onto the queue.
b. While the queue is not empty:
i. Remove the front node.
ii. Visit that node.
iii. Push its neighbors onto the queue.
- Ensure nodes are marked as visited to handle cycles.
3. **Code Structure**:
- Use standard C++ libraries (`<iostream>`, `<stack>`, `<queue>`, `<set>`, etc.).
- Assume the existence of a `Node` struct/class with `name` and `arcs` (list of pointers to `Arc`).
- Assume `Arc` struct/class has a `finish` pointer to the destination `Node`.
# Communication & Style Preferences
- Provide the complete function code.
- Use clear variable names.
## Triggers
- implement dfs using stack
- implement bfs using queue
- eliminate recursion from depthFirstSearch
- complete the function dfs in p2Traverse.cpp
- complete the function bfs in p2Traverse.cpp