上机实验报告学 院:计算机与信息技术学院专 业:计算机科学与技术(师范)课程名称:数据结构实验题目:图的邻接表班级序号:师范1班学 号:201421012731学生姓名:邓雪指导教师:杨红颖完成时间:2015年12月25号1、实验目的:1﹒掌握图的基本概念和邻接表存储结构。 2﹒掌握图的邻接表存储结构的算法实现。,提高实际编程能力及程序调试能力。2、实验环境:++、实验内容及要求:无向图用邻接表存储。四、概要设计:建立无向图的邻接表,输出邻接表。对于图中的每个顶点vi,该方法把所有邻接于vi的顶点vj链成一个单链表,这个单链表就称为顶点vi的邻接表。邻接表中每个表结点均有2个域,其一是邻接点域(adjvex),用以存放与vi相邻接的顶点vj的序号;其二是链域(next),用来将邻接表的所有表结点链在一起。并且为每个顶点vi的邻接表设置一个具有2个域的表头结点:一个是顶点域(vertex),用来存放顶点vi的信息;另一个是指针域(link),用于存入指向vi的邻接表中第一个表结点的头指针。五、代码:#include<>#include<>#definen4#definee5typedefcharvextype;//定义结构体typedefstructnode{intadjvex;structnode*next;}edgenode;//定义结构体typedefstruct{vextypevertex;edgenode*link;}vexnode;vexnodega[n];//建立无向图的邻接表voidCREATADJLIST(vexnodega[]){inti,j,k;edgenode*s;printf("请输入顶点信息:");for(i=1;i<=n;i++){ga[i].vertex=getchar();ga[i].link=NULL;}printf("请输入边(vi,vj)的顶点对序号:\n");for(k=1;k<=e;k++){scanf("%d%d",&i,&j);s=(edgenode*)malloc(sizeof(edgenode));s->adjvex=j;s->next=ga[i].link;ga[i].link=s;s=(edgenode*)malloc(sizeof(edgenode));s->adjvex=i;s->nex
图的邻接表 来自淘豆网www.taodocs.com转载请标明出处.