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語言大神
這程式有一個錯誤和一個警告。錯誤 函式selectsort的定義函式體中,內迴圈for j i 1 j l length i 出錯,應將i改為j 警告 陣列下標最好從0開始 1.養成習慣2.函式selectsort的排列可以在函式內再定義個datetype t 作為交換,而不是用個全域性變數.因為你...
C語言很簡單很簡單的問題,C語言很簡單很簡單的問題
第一個 經過呼叫函式的運算後 沒有返回值 所以c d的值沒變 第二個用不到呼叫函式吧 因為計算機是讀 main的 而且是從main之前找函式 後面的函式 計算機不會讀的 應該輸出10 可能不對 我好久沒玩 c語言了 1.要用指標 改為int t int x,int y,int cp,int dp c...
簡單c語言問題求答,簡單c語言問題求解答。
你把 發上來,才能幫你看,幫你找錯誤吧。一個很簡單的c語言問題,求高手解答,謝謝!scanf 分數 d n score 是錯的,這樣會導致你無法輸入任何資料。不信你可以先給score賦一個初值,然後 printf d score 就會發現score永遠是初值。應該寫成scanf d score 如果...