Depth First Search program in c++

Depth First Search program in C++ with full explanation of each step:   PROGRAM: #include <iostream.h> #include <conio.h> #define MAX_NODE 50 struct node{ int vertex; node *next; }; node *adj[MAX_NODE]; //For storing Adjacency list of nodes.int totNodes; //No. of Nodes in Graph.////////////Stack Operation\\\int top=-1; int stack[MAX_NODE]; void push(int item){ top=top+1; stack[top]=item; } int pop(){ int deldata=stack[top]; top=top-1; return(deldata); } int…