#include<stdio.h>
#include<stdlib.h>

#define num 8

struct nearnode{

int order;
nearnode* pnext;
};

struct topnode{

char data[20];
nearnode* phead;
};

struct Gra{

topnode top[num];
int topnum;
int sidenum;
};

void create(Gra* gra){

puts("请输入图的弧数\n");
scanf("%d",&gra->sidenum);
gra->topnum = num;
for(int i = 0;i < num;i++){

printf("请输入第%d个定点储存的数据信息\n",i+1);
scanf("%s",gra->top[i].data);
}
for(int i = 0;i < gra->sidenum;i++){

int temp_one;
int temp_two;

printf("请输入第%d条边的起始顶点\n",i+1);
scanf("%d",&temp_one);
printf("请输入第%d条边的终结顶点\n",i+1);
scanf("%d",&temp_two);

nearnode* newnode_one = NULL;
newnode_one = (nearnode*)malloc(sizeof(nearnode));
newnode_one->pnext = NULL;
newnode_one->order = temp_one;

if(gra->top[temp_two].phead == NULL){
gra->top[temp_two].phead = newnode_one;
}
else{

for(;gra->top[temp_two].phead->pnext != NULL;gra->top[temp_two].phead = gra->top[temp_two].phead->pnext); 
gra->top[temp_two].phead->pnext = newnode_one;
}

nearnode* newnode_two = NULL;
newnode_two = (nearnode*)malloc(sizeof(nearnode));
newnode_two->pnext = NULL;
newnode_two->order = temp_two;

if(gra->top[temp_one].phead == NULL){

gra->top[temp_one].phead = newnode_two;
}
else{

for(;gra->top[temp_one].phead->pnext != NULL;gra->top[temp_one].phead = gra->top[temp_one].phead->pnext); 
gra->top[temp_one].phead->pnext = newnode_two;
}

}
}

void viewer(Gra* gra){

for(int i = 0;i < gra->topnum;i++){

printf("第%d个边结点对应的是%c顶点的信息\n",i+1,i+65);
}

puts("\n\n");

for(int i = 0;i < gra->topnum;i++){

printf("第%d个顶点储存的信息是:%s\n",i+1,gra->top[i].data);
}

puts("\n\n");

for(int i = 0;i < num;i++){

for(;gra->top[i].phead != NULL;gra->top[i].phead = gra->top[i].phead->pnext){

printf("与第%d个顶点相连的边结点的序号为%d\n",i+1,gra->top[i].phead->order);
}
}
}

int main(int argc,char** argv){

Gra* gra = NULL;
gra = (Gra*)malloc(sizeof(Gra));
create(gra);
viewer(gra);
}

最新文章

  1. objective-c 语法快速过(4)
  2. BFGS方法
  3. 转:redis常用命令
  4. What is Entity Framework?
  5. ado模版不会自动生成
  6. Excel操作--使用NPOI导入导出Excel为DataTable
  7. 关于DISPLAY变量显示问题
  8. 【HDOJ】3660 Alice and Bob&#39;s Trip
  9. UVA 10820 - Send a Table 数论 (欧拉函数)
  10. JAVA中一些需要记录的知识点(进阶部分)&#183;&#183;&#183;持续更新
  11. MySQL 5.7 在windows下修改max_allowed_packet变量
  12. System.getProperty()方法获取系统变量
  13. jmeter+ant+jenkins的自动化接口测试
  14. UNIX环境高级编程——主线程与子线程的退出关系
  15. python 脚本自动登陆校园网
  16. vue-cli 里axios的使用
  17. 处理程序“AllowAccessJavaScripts”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  18. 剑指offer(12)数值的整数次方
  19. mysql学习笔记五 —— MHA
  20. 实现Servlet容器一

热门文章

  1. 因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!
  2. CSS样式命名
  3. 手把手教你用GoEasy实现Websocket IM聊天
  4. gRPC (1):入门及服务端创建和调用原理
  5. angualrjs 总结 随记(二)
  6. snmap弱口令攻击利用
  7. 【spring springmvc】这里有你想要的SpringMVC的REST风格的四种请求方式
  8. 【i春秋综合渗透测试】《我很简单,请不要欺负我》
  9. 图论-BFS-最小高度的树 Minimum Height Trees
  10. 从 ASP.NET Core 3.1 迁移到 5.0