起止日期:2006 -2007 学年 1学期
系别:计算机科学与技术学院 班级05信息管理与信息系统 学号0527403015 姓名朱旭东
1需求分析
/*
建如上图所示的图的邻接表,然后完成深度优先、广度优先遍历,给出遍历结果。*/
2源程序
#include<stdio.h>
#include<stdlib.h>
#define MAXVER 20 //定义最大顶点数
typedef struct node //声明接点结构
{int vertex;
struct node *next;
}adjlist[MAXVER]; //顶点数组
//**************************建立邻接表************************************
void creagraph(adjlist g,int n,int e)
{int i,s,d;
struct node *p,*q,*pp,*qq;
for(i=1;i<=n;i++)
{g.vertex=i;
g.next=NULL;
//printf("%d",g.vertex);
}
printf("[注]此题应输入1 2\n");
printf(" 1 6\n");
printf(" 2 3\n");
printf(" 2 4\n");
printf(" 3 5\n");
printf(" 4 5\n");
for(i=1;i<=e;i++)
{printf("输入边的两端点s和d:");
scanf("%d%d",&s,&d);
p=(struct node *)malloc(sizeof(struct node));
p->vertex=d;
p->next=NULL;
q=&g[s];//找到该顶点的头s
while(q->next!=NULL)
q=q-