1樓:麗舞傾心
#include
#include
#define ture 1
#define false 0
//圖相關----------------------
typedef int arccell; /*對於無權圖,用1或0表示是否相鄰;對帶權圖,則為權值型別*/
typedef int booleantype; //狀態變數
typedef struct
mgraph; /*(adjacency matrix graph)*/
//-----------------------------
mgraph g; //圖
booleantype *visited; //建立標誌陣列(全域性量)
int getgraph(mgraph *g); //建立鄰接矩陣
int searchnoen(mgraph *g); //尋找沒有入度的結點。如果沒有,返回-1,否則返回其位置
booleantype iscircle(mgraph *g); //判斷是否有環。有則返回1,無返回0
int main()
else
return 0;
}int getgraph(mgraph *g) //建立鄰接矩陣
//建立二維動態陣列
for(i = 0; i < g->vexnum; i++)
} //輸入資料
visited = (booleantype*)malloc(sizeof(booleantype) * g->vexnum); //分配標誌陣列
for(v = 0; v < g->vexnum; v++) //初始化
return 0;
}//getgraph
int searchnoen(mgraph *g) //尋找沒有入度的結點。如果沒有,返回-1,否則返回其位置
if(visited[i] != ture && j == g->vexnum - 1)}}
return -1;
}booleantype iscircle(mgraph *g) //判斷是否有環。有則返回1,無返回0
visited[i] = ture;
count--;
}if(count != 0)
return 0;}
2樓:
#include
#include
#include
using namespace std;
// description: 表示圖的結點的鄰接邊
struct edge
**graph;
// description: 新增一個邊
// input: e - 要新增邊的結點, p - 目的地
// output: e - 新增邊後的結點
void addedge(edge *&e, int p)
else
// description: 輸入結點之間的邊
// input: console下使用者輸入,起點和終點; m - 邊的個數
// output: graph - 圖;
void input(int &m)
// description: 獲得每個結點的入度
// input: n - 結點的個數
// output: degree - 每個結點的入度
void getdegree(int *degree, int n)}}
// description: 拓撲排序
// input: n - 結點個數
// output: console下輸出一個正確的拓撲序
void toposort(int n)
}delete degree;
}int main()
c語言 簡單題,C語言 簡單題
按照您的意思修改完畢 include stdafx.h include include include string.h void nzp char a,char b void main a 0改為 a 0 scanf c a i 改為scanf c a i nzp a i 改為nzp a i b ...
c語言簡單加法,C語言做簡單加法
正確的 如下 include void main 在你的 中最後的輸出是錯誤的,從 來的d,而且你要輸出的是c吧,就算是d你也沒有定義d,c語言的 一定要先定義再使用,把最後輸出的d改為c就可以了,還有就是標點符號要注意,不要寫錯,一定要注意,要仔細。相應的可以寫出求加減乘除的 如下 include...
簡單c語言問題,求教,簡單C語言問題,求教
的優先順序比 高 c a b 2相當於c a b 2 c a 1 c 00000011 單目運算子 算術運算子 移位運算子 關係運算子 邏輯運算子 條件運算子 賦值運算子 逗號運算子 單目運算子 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正號運算子 負號運算子 型別 型別轉換運算...