五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

數(shù)據(jù)結(jié)構(gòu)拓展習(xí)題:圖判斷頂點(diǎn)間是否存在簡(jiǎn)單路徑并打印

2022-05-28 00:16 作者:回到唐朝當(dāng)少爺  | 我要投稿

題目:已知鄰接表表示的有向圖,請(qǐng)編程判斷從第u頂點(diǎn)至第v頂點(diǎn)是否有簡(jiǎn)單路徑,若有則打印出該路徑上的頂點(diǎn)。

bool visited[MAX_VERTEX_NUM];

bool Reachable(ALGraph G, int u, int v)

{

?????? int flag = 0;

?????? Sqstack S, T;

?????? InitStack(S);

?????? InitStack(T);

?????? int parent[MAX_VERTEX_NUM] = { 0 };

?????? for (int i = 0; i < G.vexnum; i++)

?????? {

????????????? visited[i] = false;

?????? }

?????? Push(S, u);//將開(kāi)始頂點(diǎn)入棧

?????? visited[u] = true;//將開(kāi)始頂點(diǎn)設(shè)為已訪問(wèn)

?????? int e, i;

?????? ArcNode* p;

?????? while (!StackEmpty(S))

?????? {

????????????? e = Pop(S);

????????????? p = G.vertices[e].firstarc;

????????????? while (p)

????????????? {

???????????????????? if (p->adjvex == v)//如果找到了目標(biāo)頂點(diǎn)v

???????????????????? {

??????????????????????????? flag = 1;//標(biāo)記為已找到

??????????????????????????? parent[p->adjvex] == e;//v的前驅(qū)結(jié)點(diǎn)為e

??????????????????????????? printf("Path: ");

??????????????????????????? i = v;//將棧中的元素顛倒過(guò)來(lái)倒序輸出路徑

??????????????????????????? while (i != u)

??????????????????????????? {

?????????????????????????????????? Push(T, i);

?????????????????????????????????? i = parent[i];

??????????????????????????? }

??????????????????????????? Push(T, u);

??????????????????????????? while (!StackEmpty(T))

??????????????????????????? {

?????????????????????????????????? printf("%d ", G.vertices[Pop(T)].data);

??????????????????????????? }

???????????????????? }

???????????????????? else if (visited[p->adjvex] == false)//如果未找到且鄰接點(diǎn)未訪問(wèn)過(guò)

???????????????????? {

??????????????????????????? visited[p->adjvex] = true;//繼續(xù)搜索

??????????????????????????? parent[p->adjvex] = e;

??????????????????????????? Push(S, p->adjvex);

???????????????????? }

???????????????????? p = p->nextarc;

????????????? }

?????? }

?????? if (flag)

????????????? return true;

?????? return false;

}


數(shù)據(jù)結(jié)構(gòu)拓展習(xí)題:圖判斷頂點(diǎn)間是否存在簡(jiǎn)單路徑并打印的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
杭州市| 襄樊市| 东阳市| 临漳县| 乐陵市| 塔城市| 丹东市| 溧水县| 靖安县| 平阴县| 安福县| 本溪| 新源县| 德保县| 武清区| 霸州市| 左云县| 普洱| 伽师县| 安塞县| 汝南县| 赫章县| 广水市| 合江县| 含山县| 左云县| 淮阳县| 余庆县| 太和县| 湘西| 沐川县| 芜湖市| 多伦县| 汉阴县| 高密市| 靖州| 沈阳市| 江口县| 渭源县| 安庆市| 南溪县|