最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
响水县| 建阳市| 柳林县| 周至县| 嘉兴市| 台南市| 青川县| 临西县| 昌平区| 旬阳县| 海伦市| 鲜城| 甘泉县| 湛江市| 海淀区| 黄浦区| 丹东市| 新巴尔虎左旗| 泸西县| 光山县| 台东市| 尼勒克县| 谢通门县| 正镶白旗| 临潭县| 新宾| 来宾市| 文化| 手机| 贵南县| 平山县| 穆棱市| 昭苏县| 饶河县| 油尖旺区| 星子县| 丹阳市| 新平| 资兴市| 长岭县| 岫岩|