第12周專案2 操作用鄰接表儲存

2021-07-08 09:41:30 字數 2784 閱讀 7862

問題:

/*

* 檔名稱:專案2.cbp

* 作    者:張芸嘉

* 完成日期:2023年11月27日

* 版 本 號:v1.0

* 問題描述:假設圖g採用鄰接表儲存,分別設計實現以下要求的演算法:

* 輸入描述:無

* 程式輸出:測試資料

*/

利用下圖作為測試用圖,輸出結果。

(圖1)

**:

(1)輸出出圖g中每個頂點的出度

#include "graph.h"

//返回圖g中編號為v的頂點的出度

int outdegree(algraph *g,int v)

return n;

}//輸出圖g中每個頂點的出度

void outds(algraph *g)

int main()

, ,,,

,,};arraytolist(a[0], 7, g);

printf("各頂點出度:\n");

outds(g);

return 0;

}

執行結果:

(2)求出圖g中出度最大的乙個頂點,輸出該頂點編號

#include "graph.h"

//返回圖g中編號為v的頂點的出度

int outdegree(algraph *g,int v)

return n;

}//輸出圖g中每個頂點的出度

void outds(algraph *g)

//輸出圖g中出度最大的乙個頂點

void outmaxds(algraph *g)

}printf("頂點%d,出度=%d\n",maxv,maxds);

}int main()

, ,,,

,,};arraytolist(a[0], 7, g);

printf("最大出度的頂點資訊:");

outmaxds(g);

return 0;

}

執行結果:

(3)計算圖g中出度為0的頂點數;

#include "graph.h"

//返回圖g中編號為v的頂點的出度

int outdegree(algraph *g,int v)

return n;

}//輸出圖g中每個頂點的出度

void outds(algraph *g)

//輸出圖g中出度為0的頂點數

void zerods(algraph *g)

printf("\n");

}int main()

, ,,,

,,};arraytolist(a[0], 7, g);

printf("出度為0的頂點:");

zerods(g);

return 0;

}

執行結果:

(4)判斷圖g中是否存在邊

j>

#include "graph.h"

//返回圖g中編號為v的頂點的出度

int outdegree(algraph *g,int v)

return n;

}//輸出圖g中每個頂點的出度

void outds(algraph *g)

//輸出圖g中出度最大的乙個頂點

void outmaxds(algraph *g)

}printf("頂點%d,出度=%d\n",maxv,maxds);

}//輸出圖g中出度為0的頂點數

void zerods(algraph *g)

printf("\n");

}//返回圖g中是否存在邊bool arc(algraph *g, int i,int j)

p=p->nextarc;

}return found;

}int main()

, ,,,

,,};arraytolist(a[0], 7, g);

printf("邊<2,6>存在嗎?");

if(arc(g,2,6))

printf("是\n");

else

printf("否\n");

printf("\n");

return 0;

}

執行結果:

知識點總結:

圖演算法庫的應用。

第12周 專案1(2)

問題及 檔名稱 main.cpp 作 者 賈慶嚴 完成日期 2016年6月15日 版 本 號 v1.0 問題描述 用類的成員函式,定義複數類過載運算子 使之能用於複數的加減乘除 include using namespace std class complex complex double r,do...

第5周專案1 (2)

main.cpp 作者 李鑫 完成日期 2016.3.31 問題描述 在上面程式的基礎上,重新定義 類,其中邏輯特別簡單的set和get成員函式,要處理為內聯成員函式,直接在類內定義。include includeusing namespace std class void setb double ...

第12 周 專案三

檔名稱 main.cpp 作 者 肖雪 完成日期 2016年6.2 版 本 號 v1.0 問題描述 設計陣列類array,為了實現測試函式中要求的功能,請補足相關的函式 構造 析構函式 和運算子過載的函式。include include include using namespace std cla...