开发工具:
文件大小: 51kb
下载次数: 0
上传时间: 2013-09-14
详细说明: 关于简单的邻接表,简单可用 #include #include typedef struct node //图顶点结构声明 { int vertex; //顶点数据 struct node *nextnode; //指向下一个顶点的指针 }*graph; struct node head[6]; //存储定点的结构数组,长度是6,而不是顶点数5. //创建图 void create_graph(int *array, int num) { graph newnode; //新顶点指针 graph ptr; int from; //边的起点 int to; //边的终点 int i; for(i = 0; i < num; i++) //读取边的循环 { from = array[i * 2]; //边的起 点 to = array[i * 2 + 1]; //边的终点 newnode = (graph)malloc(sizeof(struct node)); newnode->vertex = to; newnode->nextnode = NULL; ptr = &(head[from]); while(ptr->nextnode != NULL) { ptr = ptr->nextnode; } ptr->nextnode = newnode; } } int main() { graph ptr; int array[12][2] = {{1, 2}, {2, 1}, {1, 3}, {3, 1}, {2, 3}, {3, 2}, {2, 4}, {4, 2}, {3, 5}, {5, 3}, {4, 5}, {5, 4},}; int i; for(i = 1; i <= 5; i++) { head[i].vertex = i; //设置定点值 head[i].nextnode = NULL; //清除图指针 } create_graph(array, 12); //创建图 printf("图的邻接表内容:\n"); for(i = 1; i <= 5; i++) { printf("顶点%d => ", head[i].vertex); ptr = head[i].nextnode; while(ptr != NULL) { printf(" %d", ptr->vertex); ptr = ptr->nextnode; } printf("\n"); } return 0; } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.