图的邻接表存储


//
date:2020.4.22
//图的邻接表存储 #include <bits/stdc++.h> using namespace std; //首先定义结点 typedef struct Node { int data;//结点的数据 struct Node *next; } EdgeNode; //表结点 typedef struct FirstNode { int index;//表头的数据 EdgeNode *first;//指向第一个结点的指针 } Vertex; typedef struct grap { Vertex vex[100];//表头结点 int n,e;//图的节点数和边数 } Graph; Graph graph; void createGraph() { //先建立顶点表,再建立边表 printf("输入顶点数:\n"); scanf("%d",&graph.n); printf("输入边数:\n"); scanf("%d",&graph.e); getchar(); cout<<"输入顶点"<<endl; for(int i=0; i<graph.n; i++) { cin>>graph.vex[i].index; graph.vex[i].first=NULL; } //输入边 cout<<"输入边"<<endl; for(int i=0; i<graph.e; i++) { int a,b; cin>>a>>b; //因为要创立结点 //在b的邻接链表上挂a EdgeNode *p; p=(EdgeNode *)malloc(sizeof(EdgeNode)); p->data=a; p->next=graph.vex[b].first; graph.vex[b].first=p; //在a的邻接表上挂b p=(EdgeNode *)malloc(sizeof(EdgeNode)); p->data=b; p->next=graph.vex[a].first; graph.vex[a].first=p; } } //int visited[100]= {0}; int main() { //Graph G; createGraph(); return 0; }

图的邻接表存储

原文链接: https://www.cnblogs.com/someonezero/p/12759823.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    图的邻接表存储

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/344077

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午2:27
下一篇 2023年3月2日 上午2:28

相关推荐