📄 停车厂.txt
字号:
#include <stdlib.h>
#define maxvex 30
struct edgenode
{int adjvex;
char info;
struct edgenode*next;
};
struct vexnode
{char data;
struct edgenode*link;
};
typedef struct vexnode adjlist[maxvex];
adjlist tu1;
void creategraph(adjlist g,int n)
{int e,i,s,d;
struct edgenode*p,*q;
printf("the point(n) and edge(e):");
scanf("%d,%d",&n,&e);
for(i=1;i<=n;i++)
{getchar();
printf("\tthe %d information:",i);
scanf("%c",&g[i].data);
g[i].link=NULL;
}
for(i=1;i<=e;i++)
{printf("\nthe%d edges=>\n\t :",i);
scanf("%d,%d",&s,&d);
p=(struct edgenode*)malloc(sizeof(struct edgenode));
q=(struct edgenode*)malloc(sizeof(struct edgenode));
p->adjvex=d;
p->info=g[d].data;
q->adjvex=s;
q->info=g[s].data;
p->next=g[s].link;
g[s].link=p;
q->next=g[d].link;
g[d].link=q;
}
}
int visited[maxvex];
void dfs(adjlist adj,int v)
{int i;
struct edgenode*p;
visited[v]=1;
printf("now is at point %d",v);
p=adj[v].link;
printf("the data is %c \n",adj[v].data);
getch();
while(p)
{if(visited[p->adjvex]==0)
dfs(adj,p->adjvex);
p=p->next;
}
}
int quene[maxvex];
void bfs(adjlist adj,int vi)
{int m=maxvex;
int front=0,rear=1,v;
struct edgenode*p;
visited[vi]=1;
printf("now visit the point:%d\n",vi);
getch();quene[rear]=vi;
while(front!=rear)
{front=(front+1)%m;
v=quene[front];
p=adj[v].link;
while(p)
{if(visited[p->adjvex]==0)
{visited[p->adjvex]=1;
printf("now visit the point:%d\n",p->adjvex);
getch();
rear=(rear+1)%m;
quene[rear]=p->adjvex;
}
p=p->next;
}
}
}
void main()
{int i;clrscr();
creategraph(tu1,0);
for(i=1;i<maxvex;i++)
visited[i]=0;
dfs(tu1,1);getch();
for(i=1;i<maxvex;i++)
visited[i]=0;
bfs(tu1,1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -