/*擴充套件實現源***/
# include
# include
# include
# define true 1
# define false 0
# define ok 1
# define error 0
# define overflow -2
# define null 0
# define maxlen 10
# define large 999
typedef int status;
typedef struct
graph;
typedef struct node/*表結點結構*/
edgenode;
typedef struct/*頭結點結構*/
vexnode;
typedef struct/*鄰接表結構*/
adjlist;
typedef struct qnode/*佇列儲存結構*/
linkqlist;
typedef struct
linkqueue;
typedef struct/*棧結構*/
stack;
int cnull=-1;
graph g;
adjlist adjl;
stack *t;/*拓撲序列頂點棧*/
stack *s;/*零入度頂點棧*/
linkqueue *q;
graph printf_adjmatrix(graph g)/*輸出鄰接矩陣*/
return g;
}void creat_1(graph g)
void creat_2(graph g)
printf_adjmatrix(g);
}graph creat_3(graph g)
graph creat_4(graph g)
printf_adjmatrix(g);
return g;
}void creatgraph(graph g)/*鄰接矩陣*/
}adjlist creatlist (graph g ,adjlist adjl)/*鄰接表*/
}if(g.kind==2||g.kind==4)
}printf("鄰接表為:/n");
for(i=0;i
printf("^/n");
}return adjl;
}void initqueue(linkqueue *p)
status empty(linkqueue *q)
status addqueue(linkqueue *q,int e)/*入佇列*/
status delqueue(linkqueue *q)/*出佇列*/
void dfs(int i, adjlist adjl)/*深度優先搜尋*/
}void bfs(int i,adjlist adjl)/*廣度優先搜尋*/}}
}status initstack(stack *s)/*構造空棧*/
status push(stack *s,int x)/*入棧*/
else
return ok;
}status pop(stack *s)
return y;
}status stackempty(stack *s)
status topsort(adjlist adjl)/*拓撲排序*/
}if(count
else return ok;
}void prim(graph g)/*最小生成樹*/
closet[1]=0;
j=1;
for(i=1;i
printf("(%c,%c),",g.vexs[k-1],g.vexs[closet[k-1]]);
closet[k]=0;
for(j=1;jif(g.arcs[k][j]}}
int ve[maxlen];/*最早發生時間*/
int vl[maxlen];/*最遲發生時間*/
status toporder(adjlist adjl,stack *t)/*求各頂點事件的最早發生時間ve*/
}if(countelse return ok;
}status criticalpath(adjlist adjl)/*關鍵路徑*/
for(j=0;jfor(p=adjl.adjs[j].link;p;p=p->next)
return ok;
}void shortpath_dijkstra(graph g)
for(i=0;i
s[v0]=1;
for(i=0;i
s[u]=1; /*u頂點是求得最短路徑的頂點編號*/
for(j=0;jif(s[j]==0&&dist[u]+cost[u][j]
}printf("/n頂點%d到各頂點的最短路徑長度為:/n",v0);
for(i=0;iif(s[i]==1)
printf("%4c",g.vexs[u]);
printf(":%d/n",path[i]);
}else printf("%4c<-%4c:無路徑/n",g.vexs[i],g.vexs[v0]);
}void shortpath_floyd(graph g)
printf("/n各頂點間的最短路徑為:/n");
for(k=0;kfor(i=0;i
printf("(%4c->%4c):%d",g.vexs[i-1],g.vexs[j-1],short3[i][j]);}}
int menu()
void chushihuachuli()
printf("請輸入頂點數,邊數(逗號隔開):");
scanf("%d,%d",&i,&j);
g.vexnum=i;adjl.vexnum=i;
g.arcnum=j;adjl.arcnum=j;
for (i=0;i
for (k=1;k<=g.arcnum;k++)
if (g.kind==3||g.kind==4)
else g.h[k-1]=null;
adjl.adjs[i].id++;}}
void main()
else
break;
case 6:if (g.kind==1||g.kind==3)
else
break;
case 7:if (g.kind==3)
else
break;
case 8:if (g.kind==3)
else
break;
case 9:if (g.kind==3)
else
break;
case 10:quit=1;
default:
}/*switch*//*while*/
}/*main()*/
實驗四附加
擴充套件實現源 include include include define true 1 define false 0 define ok 1 define error 0 define overflow 2 define null 0 define maxlen 10 define large ...
201671010460 朱藝璇 實驗四附加實驗
轉殖結對方專案原始碼到本地機器,利用實驗提供檔案的測試軟體,要求測試不少於10次 對方專案位址 22 檢查專案 檢查結果 a指定單詞詞頻統計功能能否正常使用 是 b高頻詞統計功能能否正常使用 是 c使用者從鍵盤輸入高頻詞輸出的個數k詞頻統計功能 是 d文字詞頻統計檔案生成是否正常 是 e 單詞頻數視...
201671010426 孫錦喆 實驗四附加實驗
按名單中指定互評小組,對對方小組的 實驗四 結對專案 的專案成果進行評價,具體要求如下 互評小組 杜娣 王小倩 點評內容 設計層次清晰,內容涵蓋到設計中的每乙個環節以及在編寫 中用到的具體方法和類,對每一步都有詳細的總結,不足之處是在設計的過程中沒有提出遇到的問題和所需要注意的事項。從她們的部落格中...