手记

C/C++算法(图的表示(邻接矩阵))

/
邻接矩阵 (函数版)
作者:Zhihang
(附:这是俺滴原创,盗用请看本程序最底下)
/

include<iostream>
include<vector> //动态数组头文件

using namespace std;

const int n=5;
int m;
vector< vector<int> > map; //定义一个动态数组~o~o~

bool isLian(int v,int w){ //看看两个点连着不
for(int i=0;i<map[v].size();i++){
if(map[v][i]==w){
return true; //连上了!!!!!
}

}   
return false;           //没连上... 

}

int addBian(int v,int w,bool hasQuan){ //加一条边
if(isLian(v,w)){
return 0;
}
map[v].push_back(w);
if(!hasQuan){
map[w].push_back(v);
}

m++;

}

int main(){
for(int i=0;i<n;i++){ //初始化
map.push_back(vector<int>() );
}

//连接一个五角星 
addBian(1,3,false);
addBian(1,4,false); 
addBian(2,4,false);
addBian(2,0,false);
addBian(3,0,false);

//显示出来 
for(int i=0;i<n;i++){
    cout<<i<<": ";
    for(int j=0;j<map[i].size();j++){
        cout<<map[i][j]<<"  ";
    }
    cout<<endl;
}
return 0;

}

//先Ctrl+A 再Ctrl+C 最后Ctrl+V

2人推荐
随时随地看视频
慕课网APP