ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

图的邻接表存储

2020-04-23 12:01:13  阅读:227  来源: 互联网

标签:存储 EdgeNode int graph 结点 vex 邻接 first



//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; }

图的邻接表存储

标签:存储,EdgeNode,int,graph,结点,vex,邻接,first
来源: https://www.cnblogs.com/someonezero/p/12759823.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有