在无向图中查找从一个节点到另一个节点的所有路径

所以我有一个邻接列表forms的图形,结构如下面的代码所示。 鉴于这种forms的数据结构,我想知道如何找到并打印从给定节点到另一个节点的所有可能路径。 我知道我可能不得不使用堆栈来执行DFS或队列来执行BFS,我知道该怎么做,但我对如何找到所有可能的路径感到困惑

typedef struct graph { int n, maxn; Vertex** vertices; }Graph; typedef struct vertex { char* label; Edge* first_edge; }Vertex; typedef struct edge { int u, v; int weight; Edge* next_edge; }Edge ;