1. 程式人生 > 其它 >11.23學習總結

11.23學習總結

(1)今日安排
鄰接矩陣儲存建立有向圖
提目要求:以鄰接矩陣的儲存方式,建立一個有向圖,頂點為字元型。
原始碼如下:

#include<iostream>
#include<cstdio>
using namespace std;
const int N=1010;
struct {
    int n,m;
    char vers[N];
    bool arcs[N][N];
}gra;
int find(char c){
    for(int i=0;i<gra.n;i++){
        if(gra.vers[i]==c){
            
return i; } } return -1; } void add(char x,char y){ int u=find(x),v=find(y); if(~u&&~v){ gra.arcs[u][v]=1; } else{ cout<<"error"; exit(0); } } int main(){ cin>>gra.n>>gra.m; if(gra.n==0||gra.n==1&&gra.m>1
){ cout<<"error"; return 0; } for(int i=0;i<gra.n;i++){ cin>>gra.vers[i]; } for(int i=0;i<gra.m;i++){ char u,v; cin>>u>>v; add(u,v); } for(int i=0;i<gra.n;i++){ for(int j=0;j<gra.n;j++){
if(j) cout<<' '; cout<<gra.arcs[i][j]; } if(i!=gra.n-1) cout<<endl; } return 0; }