日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

邻接表转换邻接矩阵

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 邻接表转换邻接矩阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鄰接表轉換鄰接矩陣

無向圖轉矩陣,輸入邊

#include<iostream> using namespace std; struct bian {int data;bian *next; }; struct dian {int ch;bian *to; }; class zb { public:zb(int n,int e);~zb(){};void linjiebiao(int n);void zhuanhuan(int n);void linjiejuzhen(int n); private:dian a[10];int A[10][10];int N,E; }; zb::zb(int n,int e) {int ii;for(ii=0;ii<n;ii++){a[ii].ch=ii;a[ii].to=NULL;}int i,j;bian *s,*g;for(ii=0;ii<e;ii++){cout<<"逐一輸入邊的兩端:"<<endl;cin>>i>>j;s=new bian;s->data=j;s->next=a[i].to;a[i].to=s;g=new bian;g->data=i;g->next=a[j].to;a[j].to=g;} } void zb::linjiebiao(int n) {cout<<"鄰接表:"<<endl;bian *s;for(int i=0;i<n;i++){s=a[i].to;cout<<"V"<<i;while(s!=NULL){cout<<"->";cout<<s->data;s=s->next;}cout<<endl;} } void zb::zhuanhuan(int n) {for(int i=0;i<n;i++)for(int ii=0;ii<n;ii++)A[i][ii]=0;bian *s;int g;for(i=0;i<n;i++){s=a[i].to;while(s!=NULL){g=s->data;A[i][g]=1;s=s->next;}} } void zb::linjiejuzhen(int n) {cout<<"轉換后的鄰接矩陣:"<<endl;for(int i=0;i<n;i++){for(int ii=0;ii<n;ii++)cout<<A[i][ii]<<" ";cout<<endl;} } int main() {int m=0,n,e;cout<<"無向圖"<<endl;cout<<"請輸入點數(n<=10):";cin>>n;m=0.5*n*(n-1);cout<<"請輸入邊數(e<="<<m<<"):";cin>>e;zb l(n,e);cout<<endl;l.linjiebiao(n);cout<<endl;l.zhuanhuan(n);l.linjiejuzhen(n);cout<<endl;return 0; }

總結

以上是生活随笔為你收集整理的邻接表转换邻接矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。