91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-09
  • 語言: 其他
  • 標簽:

資源簡介

【問題描述】 試設計一個算法,求圖中一個源點到其他各頂點的最短路徑。 【基本要求】 (1)用鄰接表表示圖; (2)按長度非遞減次序打印輸出最短路徑的長度及相應路徑。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
typedef?char?DataType;
#define?MaxVertices?10
#include?“AdjLGraph.h“
void?main()
{
int?inelenenkjttf;int?s[MaxVertices]t[MaxVertices];
int?RowColWei;
int?distance[MaxVertices];
int?path[MaxVertices][MaxVertices];
AdjLGraph?g;
struct?Node?*p*q;
char?v[MaxVertices];

AdjInitiate(&g);

printf(“輸入結點序列:“);
scanf(“%s“v);
len=strlen(v);
for(i=0;i InsertVertex(&giv[i]);

printf(“輸入邊數:“);
scanf(“%d“&n);
printf(“是否為有向圖?是則輸入1,否則輸入2:“);
scanf(“%d“&en);
e=en*n;
printf(“輸入邊的兩結點和權值:\n“);
for(i=0;i {
scanf(“%d%d%d“&Row&Col&Wei);
InsertEdge(&gRowColWei);
}
printf(“序號與結點:\n“);
for(i=0;i printf(“(%d):%c\t“g.a[i].sorceg.a[i].data);
printf(“\n選擇源點的序號:“);
scanf(“%d“&k);

for(i=0;i {
distance[i]=0;
}
for(i=0;i { for(j=0;j path[i][j]=-1;
}
for(i=0;i {
s[i]=0;
t[i]=0;
}

q=g.a[k].adj;
while(q!=NULL)
{
distance[q->dest]=q->weight;
path[q->dest][0]=k;
path[q->dest][1]=q->dest;
q=q->next;
}
s[k]=1;
while(!condition(slen))
{
tt=MinDis(distanceslen);
j=0;
p=g.a[tt].adj;
while(p!=NULL&&distance[tt]!=0)
{
if(distance[p->dest]>distance[tt]+p->weight||distance[p->dest]==0)
{
distance[p->dest]=distance[tt]+p->weight;
j=0;
while(path[tt][j]!=-1)
{
path[p->dest][j]=path[tt][j];
j++;
}

path[p->dest][j]=p->dest;
for(i=j+1;i path[p->dest][i]=-1;
}
p=p->next;
}
s[tt]=1;
}
t[k]=1;
while(!condition(tlen))
{
j=0;
f=MinDis(distancetlen);
t[f]=1;
printf(“\n最短距離\t%d“distance[f]);
printf(“\t“);
while(path[f][j]!=-1)
{
printf(“%c-->“g.a[path[f][j]].data);
j++;
}
printf(“\b\b\b????“);
}
printf(“\n“);





}?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1598??2009-04-24?04:30??AdjLGraph.h
?????文件????????2037??2009-05-09?14:28??Dijkstra1.c

評論

共有 條評論

相關資源