#include

using namespace std;

#include

#define MAX 100

struct ArcNode{//边结点

int adjvex;//有向边的另一个邻接点的序号

ArcNode *nextarc;//指向下一个边结点的指针

};

struct VNode{

int data;

ArcNode *head1;

ArcNode *head2;

};

struct LGraph{

VNode vertexs[MAX];

int vernum,arcnum;

};

LGraph lg;

void CreateLG(LGraph *lg)

{

int i=0;

ArcNode *pi;

int v1,v2;

//lg->vernum=lg->arcnum=0;

//scanf("%d%d",&lg->vernum,&lg->arcnum);

for(i=0;ivernum;i++)

lg->vertexs[i].head1=lg->vertexs[i].head2=NULL;

for(i=0;iarcnum;i++)

{

scanf("%d%d",&v1,&v2);

v1--;v2--;

pi=new ArcNode;

pi->adjvex=v2;

pi->nextarc=lg->vertexs[v1].head1;

lg->vertexs[v1].head1=pi;

pi=new ArcNode;

pi->adjvex=v1;

pi->nextarc=lg->vertexs[v2].head2;

lg->vertexs[v2].head2=pi;

}

}

void DeleteLG(LGraph *lg)

{

int i;

ArcNode *pi;

for(i=0;ivernum;i++)

{

pi=lg->vertexs[i].head1;

while(pi!=NULL)

{

lg->vertexs[i].head1=pi->nextarc;

delete pi;

pi=lg->vertexs[i].head1;

}

pi=lg->vertexs[i].head2;

while(pi!=NULL)

{

lg->vertexs[i].head2=pi->nextarc;

delete pi;

pi=lg->vertexs[i].head2;

}

}

}

int main()

{

//CreateLG(&lg);

int i;

int id,od;

ArcNode *pi;

while(1)

{

lg.vernum=lg.arcnum=0;

scanf("%d%d",&lg.vernum,&lg.arcnum);

if(lg.vernum==0) break;

CreateLG(&lg);

for(i=0;i

{

od=0;

pi=lg.vertexs[i].head1;

while(pi!=NULL)

{

od++;

pi=pi->nextarc;

}

if(i==0)

printf("%d",od);//输出出度

else

printf(" %d",od);

}

printf("\n");

for(i=0;i

{

id=0;

pi=lg.vertexs[i].head2;

while(pi!=NULL)

{

pi=pi->nextarc;

id++;

}

if(i==0)

printf("%d",id);//输出入度

else

printf(" %d",id);

}

printf("\n");

DeleteLG(&lg);

}

return 0;

}//测试数据如下:

//4 7 分别代表定点数和边数

//1 4//弧尾和弧头

//2 1

//2 2

//2 3

//2 3

//4 2

//4 3

原文:http://blog.csdn.net/yuzibode/article/details/18359343

java有向图邻接表入度_图的实现--邻接表(求出各顶点的出度和入度)相关推荐

  1. 【算法】广度遍历算法的应用 求出距离顶点v0的最短路径长度为最长的一个顶点,图结构的bfs生成树及其双亲表示形式

    例: 求出距离顶点v0的最短路径长度为最长的一个顶点,并要求尽可能节省时间 分析: 用bfs算法(利用bfs算法的层次特性): 从v0出发进行广度遍历时, 最后一层的顶点距离v0的最短路径长度最长.因 ...

  2. 有向图的广度优先遍历_图的两种遍历方式

    1 引言 遍历是指从某个节点出发,按照一定的的搜索路线,依次访问对数据结构中的全部节点,且每个节点仅访问一次. 在二叉树基础中,介绍了对于树的遍历.树的遍历是指从根节点出发,按照一定的访问规则,依次访 ...

  3. mysql 复制表耗时_聊一下mysql的表复制

    1 insert...from的问题 insert - select 是很常见的在两个表之间拷贝数据的方法.需要注意,在可重复读隔离级别下,这个语句会给 select的表里扫描到的记录和间隙加读锁. ...

  4. mysql水果表查询_最全MySQL数据库表的查询操作

    序言 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可 ...

  5. oracle分库分表原理_题库分库分表架构方案

    方案 项目背景 在现在题库架构下,针对新购买的1300W多道数据进行整合,不影响现有功能.由于数据量偏多,需要进行数据的切分 目标场景 兼容旧的功能 对1300多W数据进行分库分表 需要对旧的数据进行 ...

  6. MySQL中有inserted表吗_使用 inserted 和 deleted 表

    创建和维护数据库 使用 inserted 和 deleted 表 触发器语句中使用了两种特殊的表:deleted 表和 inserted 表.Microsoft® SQL Server™ 2000 自 ...

  7. mysql 评价表设计_来聊聊mysql单表评论系统怎么设计

    评论系统对于一个网站来说几乎是必不可少的,当然评论系统的设计也多种多样.一般情况下,评论数据表会和一个用户信息表结合使用,就是在评论表中记录的有用户id(例如user_id),然后查询评论数据的时候根 ...

  8. mysql清空数据库中所有表数据_清空mysql数据库所有表数据

    1,查看数据库状态 及启动停止 /etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop 2,给用户配置初始密码 ...

  9. java实现809*两位数=800*两位数+9*两位数,求出两位数的值。其中8*两位数的结果为两位数,9*两位数的结果为三位数

    java实现809*??=800*??+9*??,求出??的值.其中??代表的是两位数,8*??的结果为两位数,9*??的结果为三位数 1 分析 1.1 此题需要控制台进行输入吗? 解答:不需要 1. ...

最新文章

  1. 阿里同款目标管理和绩效管理系统,让每个岗位都为业务赋能
  2. 2016年金融全行业网络安全状况调研报告
  3. Linux shell 基础语法
  4. asp获取手机mac_asp.net 获取客户端IP与mac
  5. fastadmin html模板,fastadmin 使用记录
  6. Python中json模块的使用,以及json.loads()和json.dumps()的区别
  7. 冷热rx-java可观察
  8. 服务器维修天长,台达精密空调服务天长市供电局
  9. 大数据之-Hadoop3.x_MapReduce_切片源码分析---大数据之hadoop3.x工作笔记0104
  10. Docker详解(八)——Docker镜像制作
  11. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_6_练习_转换文件编码...
  12. my ReadBook_dianzishangwuwangzhanshejiyuanli / 29991 / 00906 / dianzishangwu
  13. comment hive_Hive中基本语法
  14. 计算机断网后怎么连接网络连接,win7系统中网络经常掉线断网后又自动连接上怎么办...
  15. 科学前沿 AI共拓!AI for Science论坛重磅来袭
  16. 『 文件操作 』文件批量改名
  17. 关于瞬时功率的无功功率和有功功率,在不同坐标系下的验证
  18. 网站运营中同时把握好网站推广和用户体验度
  19. 我的世界1.8.9作弊java_我的世界超强作弊代码大全 掌控整个世界
  20. 多校胡策 round5 by:yts1999

热门文章

  1. VTK修炼之道20:图像基本操作_图像类型转换
  2. python中的magic方法
  3. 【CyberSecurityLearning 23】mail server(邮件投递原理)
  4. 逆向基础之C语言 第一篇
  5. StringBoot设置了拦截器没有产生作用,页面没有拦截
  6. 数据导出到Excel
  7. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
  8. 【附代码】如何在私有链上编写、部署与以太坊进行交互的智能合约
  9. Android安全系列工具
  10. QT导入libcurl